激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

EM9287的擴展總線及應用

 2013-9-11              

        EM9287是英創公司新近推出的,專門針對網絡通訊應用的工控主板產品,通訊接口方面以獨立雙以太網口、雙CAN接口以及7路標準串口為特色。若客戶應用有HMI的需求,通??蛇x擇預裝Windows CE6.0操作系統的主板產品,另一方面,若不需要圖形顯示功能的,選擇預裝Linux-3.9.7操作系統的EM9287,則更能發揮其網絡通訊的能力。進一步的,EM9287可把未使用的LCD顯示接口轉換成16-bit的精簡ISA擴展總線,作為主板與客戶專用電路單元的數據傳輸通道。EM9287的精簡ISA總線的數據傳輸速度最高可達8MB/s,可滿足絕大多數用戶擴展電路的數據傳輸需求。本文以下部分,主要介紹EM9287的精簡ISA總線的技術特性,以及在Linux環境下,應用程序實現ISA總線數據讀寫的方法。

 

        EM9287主板上共有4組接口排針,分別命名為CN1 – CN4,如下圖所示:

 

EM9287的CN1 – CN4所在位置示意圖

 

        其中的CN4即為精簡ISA總線的接口排針。由于LCD顯示被作為了EM9287的標準配置,因此一般情況下,EM9287只焊了CN3插座,沒有焊CN4的插針。若客戶要求所購的EM9287支持精簡ISA總線,則需要在購買時特別申明此需求。注意,支持精簡ISA總線的EM9287主板,不再焊接CN3插座,而是帶有CN4雙排插針。與CN1和CN2不一樣,CN4為2mm間距的雙排插針。

 

        CN4上個插針的信號定義如下表:

 


信號名稱及簡要描述CN4信號名稱及簡要描述
PIN#PIN#

  NC

12

  ISA_CS#,ISA總線片選信號

  ISA_RD#,ISA總線讀信號

34

  ISA_WE#,ISA總線寫信號

  ISA_A0,ISA地址總線

56

  ISA_A1,ISA地址總線

  ISA_A2,ISA地址總線

78

  ISA_A3,ISA地址總線

  ISA_A4,ISA地址總線

910

  ISA_A5,ISA地址總線

  ISA_A6,ISA地址總線

1112

  ISA_A7,ISA地址總線

  ISA_D0,ISA數據總線(LSB)

1314

  ISA_D1,ISA數據總線

  ISA_D2,ISA數據總線

1516

  ISA_D3,ISA數據總線

  ISA_D4,ISA數據總線

1718

  ISA_D5,ISA數據總線

  ISA_D6,ISA數據總線

1920

  ISA_D7,ISA數據總線

  ISA_D8,ISA數據總線

2122

  ISA_D9,ISA數據總線

  ISA_D10,ISA數據總線

2324

  ISA_D11,ISA數據總線

  ISA_D12,ISA數據總線

2526

  ISA_D13,ISA數據總線

  ISA_D14,ISA數據總線

2728

  ISA_D15,ISA數據總線(MSB)

  GND

2930

  GND

  3.3V 電源輸出

3132

  3.3V 電源輸出


 

        所有接口信號的電平均為3.3V TTL。EM9287的精簡ISA總線支持雙向16-bit數據總線,8位地址總線,以及3條控制總線。3條總線控制信號(片選、讀脈沖、寫脈沖)均為低電平有效。單數據讀寫的總線周期為360ns,而多數據讀寫的總線則只有240ns,可保證每秒8M字節的數據吞吐能力。精簡ISA總線的典型總線時序如下:

 

單數據寫時序

 

單數據讀時序

 

數據塊寫時序

 

數據塊讀時序

 

        精簡ISA總線驅動的設備節點為“/dev/em9287_isa”,通過標準的文件open函數打開:

        int fd; 
        fd = open('/dev/em9287_isa', O_RDWR);

 

        EM9287精簡ISA總線的地址范圍為0 – 255。為了簡化應用程序,避免使用ioctl專用定義,總線地址通過標準函數lseek來設置:

        unsigned int offset;

        //設置地址到offset
        lseek(fd, offset, SEEK_SET);

 

        總線讀寫的數據盡管只有16位,但驅動程序要求的數據類型為32位格式,具體可選unsigned int或u32。32位變量中的低16位為真正的總線數據,高16位無意義。調用函數write將啟動總線寫,調用函數read將啟動總線讀。

 

        寫操作的基本調用形式為:
        int rc; 
        unsigned int buf[]; //數據buffer
        unsigned int len; //實際寫的數據長度

        //準備需要寫出的數據....
        rc = write(fd, buf, len * sizeof(unsigned int));

 

        相應地,讀操作的基本調用形式為:
        rc = read(fd, buf, len * sizeof(unsigned int));
        //處理在buf的讀取數據....

 

        讀寫數據的長度至少為1,最長不能超過16K(16384)。在進行數據塊讀寫時,需要注意,16K數據的讀或寫將耗時4ms,而Linux分給每個線程的時間片最長只有10ms。一般情況下,為了保證系統的及時響應,每個線程運行的時間都不宜過長。

主站蜘蛛池模板: 国产精品日韩精品| 免费观看色视频| 黄色三级影院| 国产日韩精品一区在线不卡| 亚州三级视频| 91中文字幕视频| 久久综合九色综合97飘花| 亚洲美女在线观看播放| 欧美亚洲黄色| 国产高清精品一区| 黄色片网站在线| 丁香婷婷亚洲六月综合色| 久久视频在线播放视频99re6| 亚洲精品国产不卡在线观看| aa一级片| 小明成人永久视频在线观看| 曰批免费视频播放在线看片二| 成人在线免费网站| 免费播放美女一级毛片| 国产在线一区在线视频| 美国一级片免费| 麻豆性视频| bdsm中国精品调教| 国产欧美一区二区三区视频| 男女午夜特黄毛片免费| 色吧dvd| 亚洲欧美精品国产一区色综合| 一级毛片看真人在线视频| 日本888 xxxx| 日韩午夜激情视频| 另类婷婷| 亚洲在线免费| 亚洲国产精品67194成人| 成人影院免费www| 色综合久久婷婷天天| 青青青视频免费一区二区| 欧美精品在欧美一区二区| 国产人体视频| 国产人成免费视频| 国产大片91精品免费观看男同| 国产欧美日本在线观看|