久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PC/104總線的多功能擴展通訊模塊的設計

基于PC/104總線的多功能擴展通訊模塊的設計

作者: 時間:2016-12-20 來源:網絡 收藏

  圖2用VHDL語言可以很方便地實現。其具體描述如下:

  SEL(0)<=AEN;

  SEL(1)<=NIOW AND NIOR;

  SEL(2)<=ADDR(0);

  SEL(3)<=ADDR(1);

  SEL(4)<=ADDR(2);

  SEL(5)<=ADDR(3);

  SEL(6)<=ADDR(4);

  SEL(7)<=ADDR(5);

  SEL(8)<=ADDR(6);

  WITH SEL SELECT

  Y<="1111110" WHEN "010001000",//IO/110 地址操縱

  "1111101" WHEN "010001100",//IO/118 數據操縱

  "1111011" WHEN "010010000",//IO/120 串口1

  "1110111" WHEN "010010100",//IO/128 串口2

  "1101111" WHEN "010011000",//IO/130 串口3

  "1011111" WHEN "010011100",//IO/138 串口4

  "0111111" WHEN "010100000",//IO/140 讀中斷號

  "1111111" WHEN OTHERS;

  END BLOCK CODE;

  3.2 104總線與CAN控制器的接口

  如前所述,104總線與ISA總線兼容而與CAN控制器要求的時序不同,設計中將104總線中的BALE、地址和讀寫信號經CPLD邏輯整合后提供給CAN控制器,同時從數據線分時送出操縱地址和操縱數,滿足CAN控制器的時序要求。時序整合的VHDL語言如下:

  ALE<=(NOT Y(0)) AND BALE;

  CSCAN<=Y(1);

  IORCAN<=Y(1) OR NIOR;

  IOWCAN<=Y(1) OR NIOW;

  雙向數據緩沖的VHDL實現可以在很多參考書中找到,此處從略。

  3.3 異步通訊接口電路及中斷共享電路

  16554的接口可與PC104實現無縫連接,CPLD實現選通和讀寫邏輯控制,異步通訊與CAN控制器共用CPLD內的雙向數據緩沖電路。

  異步通訊控制單元16554有很強的中斷能力,四個串行控制用具有各自的中斷引腳,使用靈活。但系統的中斷資源有限,假如每一個控制器都占用一個中斷號,通訊模塊需要占用五個中斷號。為了節約中斷資源,設計中將4個串口控制器共享一個中斷,而CAN總線控制器單獨占用一個中斷。

  為了實現共享,設置了一個中斷向量寄存器,當發生中斷時首先讀取中斷向量寄存器以定位發出中斷的串行口。其原理見圖3。

中斷共享電路

圖3 中斷共享電路

  VHDL語言實現如下:

  GMID<=NIOR OR Y(6);

  INTSER<=INTABCD(0) OR INTABCD(1) OR INTABCD(2) OR INTABCD(3);

  INTID<=INTABCD WHEN (GMID=‘0‘)

  ELSE

  "ZZZZ"

4 結論

  本設計利用CPLD實現了104總線和CAN控制器之間的時序轉換、整個電路的邏輯控制以及中斷共享,使電路設計結構緊湊,性能穩定。擴展了RS-232、RS-485和CAN接口的104PC可以滿足盡大部分控制系統的通訊要求。該設計已被一個分布式防空系統所采用,在歷次聯調試驗中性能指標均達到了要求。


上一頁 1 2 下一頁

評論


技術專區

關閉