<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • 基于ESM3354的16路串口+2路網(wǎng)口擴(kuò)展方案

     2016-8-5             

      ESM3354是英創(chuàng)公司基于Cortex-A8的高性價(jià)比嵌入式主板產(chǎn)品,通過其ISA擴(kuò)展總線,可方便的擴(kuò)展多路通訊接口,以滿足工業(yè)自動(dòng)化領(lǐng)域的復(fù)雜應(yīng)用。本文主要介紹通過ESM3354的ISA總線同時(shí)擴(kuò)展16路串口和2路100M網(wǎng)口的應(yīng)用方案。通過這樣的擴(kuò)展,整個(gè)系統(tǒng)的通訊接口配置如下:


    接口資源通道數(shù)簡(jiǎn)要說明
     100M以太網(wǎng)接口4 獨(dú)立網(wǎng)口,應(yīng)工作在不同網(wǎng)段
     標(biāo)準(zhǔn)異步串口22

     COM1為USB虛擬串口

     COM2 – COM6為高速串口,3Mbps

     16擴(kuò)展串口,最高波特率115200bps

     CAN總線接口2 ESM3354主板自帶


      本擴(kuò)展方案的主要電路構(gòu)成如下圖所示:


    未標(biāo)題-1_副本2.gif


      精簡(jiǎn)ISA總線接口

      ESM3354工控主板使用英創(chuàng)標(biāo)準(zhǔn)的ESMARC評(píng)估底板,其中CN21為精簡(jiǎn)ISA總線接口,擴(kuò)展模塊ETA728(2路網(wǎng)口)和2個(gè)ETA508(每個(gè)模塊擴(kuò)展8路串口)均直接連接到ISA總線。ISA總線的信號(hào)定義可從ESMARC EVB數(shù)據(jù)手冊(cè)上得到如下:


    ISA總線接口信號(hào)

    CN21ISA總線接口信號(hào)

    PIN#

    PIN#

     RESET#,復(fù)位,低電平有效

    12

     ISA_ADV#,地址鎖存,低電平有效

     ISA_SD0,地址數(shù)據(jù)總線

    34

     ISA_SD4,地址數(shù)據(jù)總線

     ISA_SD1,地址數(shù)據(jù)總線

    56

     ISA_SD5,地址數(shù)據(jù)總線

     ISA_SD2,地址數(shù)據(jù)總線

    78

     ISA_SD6,地址數(shù)據(jù)總線

     ISA_SD3,地址數(shù)據(jù)總線

    910

     ISA_SD7,地址數(shù)據(jù)總線

     MSL#,模塊選擇

    1112

     ISA_WE#,數(shù)據(jù)寫,低電平有效

     GPIO9,中斷IRQ4,上升沿有效

    1314

     ISA_RD#,數(shù)據(jù)讀,低電平有效

     GPIO8,中斷IRQ3,上升沿有效

    1516

     ISA_CS#,總線片選,低電平有效

     GPIO25,中斷IRQ2,上升沿有效

    1718

     +5V,電源輸入

     GPIO24,中斷IRQ1,上升沿有效

    1920

     GND,公共地


      ISA_SD[0..7]為地址數(shù)據(jù)時(shí)分復(fù)用的雙向總線信號(hào),與控制信號(hào)ISA_CS#、ISA_ADV#、ISA_RD#和ISA_WE#配合,實(shí)現(xiàn)總線數(shù)據(jù)的讀入和寫出。具體的總線時(shí)序請(qǐng)參考ESM335x數(shù)據(jù)手冊(cè)。4路中斷請(qǐng)求信號(hào)IRQ1 – IRQ4分別由GPIO24、GPIO25、GPIO8、GPIO9來充當(dāng),均要求為上升沿有效的脈沖信號(hào)輸入,將分別由擴(kuò)展模塊提供。


      8路串口擴(kuò)展模塊ETA508

      ETA508為8串口擴(kuò)展模塊,采用共享中斷的結(jié)構(gòu),其中第一塊ETA508使用IRQ1(GPIO24),第二塊ETA508使用IRQ2(GPIO25)。ETA508擴(kuò)展的8路串口為3線制串口。信號(hào)電平均為+3.3V LVTTL電平。有關(guān)這種模塊詳細(xì)的技術(shù)說明請(qǐng)參考它們的數(shù)據(jù)手冊(cè)。模塊通過其CN1插座與ESM3354的精簡(jiǎn)ISA總線相連,具體信號(hào)說明如下:


    第一塊ETA508接口信號(hào)

    CN1第一塊ETA508接口信號(hào)

    PIN#

    PIN#

     ISA_SD0

    12

     ISA_SD1

     ISA_SD2

    34

     ISA_SD3

     ISA_SD4

    56

     ISA_SD5

     ISA_SD6

    78

     ISA_SD7

     ISA_ADV#

    910

     ISA_SD4

     ISA_SD5

    1112

     ISA_SD6

     ISA_SD7

    1314

     -

     5k電阻上拉或懸空

    1516

     ISA_RD#

     ISA_WE#

    1718

     RESET#

     ISA_CS#

    1920

     IRQ1(GPIO24)


    第二塊ETA508接口信號(hào)

    CN1第二塊ETA508接口信號(hào)

    PIN#

    PIN#

     ISA_SD0

    12

     ISA_SD1

     ISA_SD2

    34

     ISA_SD3

     ISA_SD4

    56

     ISA_SD5

     ISA_SD6

    78

     ISA_SD7

     ISA_ADV#

    910

     ISA_SD4

     ISA_SD5

    1112

     ISA_SD6

     ISA_SD7

    1314

     -

     接地

    1516

     ISA_RD#

     ISA_WE#

    1718

     RESET#

     ISA_CS#

    1920

     IRQ2(GPIO25)


      由于ETA508都是從英創(chuàng)EM9X60產(chǎn)品線發(fā)展起來的,為了兼容兩種產(chǎn)品線,ISA_SD4 – ISA_SD7這4條數(shù)據(jù)線在CN1中被重復(fù)放置了兩次,在設(shè)計(jì)接口電路時(shí),上述所列的信號(hào)均不能少。另ETA508模塊的電源和地線是通過模塊的CN2接口引入的。


      注意:

      (1)ESM3354的所有ISA接口信號(hào)均為3.3V LVTTL電平,且不是+5V兼容的,因此禁止把5V信號(hào)或電源接到ISA信號(hào)管腳上,否則會(huì)造成ESM3354主板的損壞!

      (2)由于ISA總線的速度較高,ETA508在PCB中的布局應(yīng)盡可能靠近ESM3354總線接口所在位置,以保證總線信號(hào)的完整性。


      2路以太網(wǎng)口擴(kuò)展模塊ETA728

      ETA728為2路獨(dú)立100M網(wǎng)口擴(kuò)展模塊,每路網(wǎng)絡(luò)控制器是占用1路獨(dú)立的中斷。模塊CN1與ISA總線的連接信號(hào)定義如下:


    ETA728接口信號(hào)

    CN21ETA728接口信號(hào)

    PIN#

    PIN#

     RESET#,復(fù)位,低電平有效

    12

     ISA_ADV#,地址鎖存,低電平有效

     ISA_SD0,地址數(shù)據(jù)總線

    34

     ISA_SD4,地址數(shù)據(jù)總線

     ISA_SD1,地址數(shù)據(jù)總線

    56

     ISA_SD5,地址數(shù)據(jù)總線

     ISA_SD2,地址數(shù)據(jù)總線

    78

     ISA_SD6,地址數(shù)據(jù)總線

     ISA_SD3,地址數(shù)據(jù)總線

    910

     ISA_SD7,地址數(shù)據(jù)總線

     -

    1112

     ISA_WE#,數(shù)據(jù)寫,低電平有效

     -

    1314

     ISA_RD#,數(shù)據(jù)讀,低電平有效

     -

    1516

     ISA_CS#,總線片選,低電平有效

     GPIO25,中斷IRQ2,上升沿有效

    1718

     +5V,電源輸入

     GPIO24,中斷IRQ1,上升沿有效

    1920

     GND,公共地


      應(yīng)用程序?qū)U(kuò)展接口的操作

      無論是在Linux平臺(tái),還是在WinCE平臺(tái),應(yīng)用程序?qū)U(kuò)展串口的操作,都是通過打開其對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)文件來實(shí)現(xiàn)的,其具體的設(shè)備文件名如下:


    CE平臺(tái)設(shè)備名稱

    Linux平臺(tái)設(shè)備名稱擴(kuò)展UART說明
    “\$device\COM20”“/dev/ttyS7”第一塊ETA508 UART0
    “\$device\COM21”“/dev/ttyS8”第一塊ETA508 UART1
    “\$device\COM22”“/dev/ttyS9”第一塊ETA508 UART2
    “\$device\COM23”“/dev/ttyS10”第一塊ETA508 UART3
    “\$device\COM24”“/dev/ttyS11”第一塊ETA508 UART4
    “\$device\COM25”“/dev/ttyS12”第一塊ETA508 UART5
    “\$device\COM26”“/dev/ttyS13”第一塊ETA508 UART6
    “\$device\COM27”“/dev/ttyS14”第一塊ETA508 UART7
    “\$device\COM30”“/dev/ttyS15”第二塊ETA508 UART0
    “\$device\COM31”“/dev/ttyS16”第二塊ETA508 UART1
    “\$device\COM32”“/dev/ttyS17”第二塊ETA508 UART2
    “\$device\COM33”“/dev/ttyS18”第二塊ETA508 UART3
    “\$device\COM34”“/dev/ttyS19”第二塊ETA508 UART4
    “\$device\COM35”“/dev/ttyS20”第二塊ETA508 UART5
    “\$device\COM36”“/dev/ttyS21”第二塊ETA508 UART6
    “\$device\COM37”“/dev/ttyS22”第二塊ETA508 UART7


      需要注意的是在WinCE平臺(tái),擴(kuò)展串口號(hào)為COM20 – COM27和COM30 – COM37,與主板上的串口號(hào)(COM2 – COM6)并不連續(xù),而Linux平臺(tái)的設(shè)備節(jié)點(diǎn)名稱是與主板串口節(jié)點(diǎn)連續(xù)命名的。打開串口后的操作,都可通過標(biāo)準(zhǔn)函數(shù)實(shí)現(xiàn)各個(gè)功能。


      盡管每路擴(kuò)展串口的最高波特率均為115200bps,但考慮盡可能降低ISA總線的負(fù)載,建議把高波特率串口首先配置在主板的COM2 – COM6(CE平臺(tái))或ttyS1 – ttyS5(Linux平臺(tái)),然后再在ETA508上部署。


      在應(yīng)用程序設(shè)計(jì)中,需注意4路網(wǎng)口的名稱:


    網(wǎng)口序號(hào)

    Linux平臺(tái)名稱CE平臺(tái)名稱
     第一路網(wǎng)口(主板自有)

    eth0

    CPSW3G1
     第二路網(wǎng)口(主板自有)eth1CPSW3G2
     第三路網(wǎng)口(ETA728擴(kuò)展)eth2DM9K3
     第四路網(wǎng)口(ETA728擴(kuò)展)eth3DM9K4


      串口驅(qū)動(dòng)程序的加載

      ETA508的驅(qū)動(dòng)程序已經(jīng)包含在ESM3354的內(nèi)核中,通過適當(dāng)方式加載這個(gè)驅(qū)動(dòng),就可進(jìn)行串口操作了。


      對(duì)Linux平臺(tái),驅(qū)動(dòng)程序?yàn)閑ta503_serial.ko,存放在跟文件系統(tǒng)的/lib/modules/4.1.6路徑下,用標(biāo)準(zhǔn)insmod命令即可實(shí)現(xiàn)加載。


      對(duì)CE平臺(tái),在啟動(dòng)系統(tǒng)后,telnet登錄到CE的命令窗口,若要啟動(dòng)ETA508,則帶參數(shù)執(zhí)行eta503set.exe,其中若啟動(dòng)第一塊ETA508,參數(shù)為8:


    1.gif


      若要啟動(dòng)2塊ETA508,則帶參數(shù)為16。執(zhí)行命令后重啟系統(tǒng),ETA508的驅(qū)動(dòng)就會(huì)自動(dòng)加載。應(yīng)用程序就可操作擴(kuò)展串口了。


      擴(kuò)展網(wǎng)口驅(qū)動(dòng)程序的加載

      ETA728的驅(qū)動(dòng)程序已經(jīng)包含在ESM3354的內(nèi)核中,通過適當(dāng)方式加載這個(gè)驅(qū)動(dòng),就可進(jìn)行串口操作了。


      對(duì)Linux平臺(tái),驅(qū)動(dòng)程序?yàn)閑ta728.ko,存放在跟文件系統(tǒng)的/lib/modules/4.1.6路徑下,用標(biāo)準(zhǔn)insmod命令即可實(shí)現(xiàn)加載。


      對(duì)CE平臺(tái),在啟動(dòng)系統(tǒng)后,telnet登錄到CE的命令窗口,若要啟動(dòng)ETA728,則帶參數(shù)執(zhí)行eta728set.exe,其中參數(shù)為3:


    2.gif


      執(zhí)行命令后重啟系統(tǒng),ETA728的驅(qū)動(dòng)就會(huì)自動(dòng)加載。應(yīng)用程序就可操作擴(kuò)展網(wǎng)口了。

    69精品人人人人人人人人人| 99久久成人国产精品免费| 国产乱码精品一区二区三区 | 国产精品无码AV一区二区三区| 亚洲日韩精品一区二区三区无码| 久久99国产精品成人| 久久人人做人人玩人精品| 国产精品夜夜春夜夜爽久久小 | 国产精品成人一区二区三区| 国产精品免费视频观看拍拍| 久久精品一区二区东京热| 精品深夜AV无码一区二区老年| 人妻少妇精品久久| 久久精品国产亚洲av成人| 亚洲AV日韩精品一区二区三区| 久久久久久亚洲精品中文字幕| 精品久久久久成人码免费动漫| 国产精品精品自在线拍| MM1313亚洲精品无码久久| 999久久久免费精品播放| 国产精品毛片无遮挡高清| 久久九九有精品国产23百花影院| 琪琪精品视频在线观看| 亚洲AV日韩精品久久久久| 久久99精品久久久久久齐齐| 亚洲男人的天堂久久精品| 久久99精品视免费看| 亚洲精品无码永久中文字幕| 亚洲国产精品不卡毛片a在线| 精品亚洲A∨无码一区二区三区| 国产麻豆精品在线观看| 69SEX久久精品国产麻豆| 国产成人亚洲精品狼色在线| 亚洲精品国产suv一区88| 国内精品久久久久久久久电影网 | 亚洲日韩精品一区二区三区无码| WWW国产精品内射老师| 亚洲国产精品无码久久久久久曰| 在线观看国产精品va| 91精品国产高清久久久久 | 亚洲精品高清国产麻豆专区|