0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

EM9460工控主板為例的串口擴(kuò)展應(yīng)用方案

英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-10-27 11:14 ? 次閱讀

多串口通訊在工控領(lǐng)域中是十分常用的一種通訊方式,常用于數(shù)據(jù)交互、搜集、傳送等?;谶@類應(yīng)用,英利嵌入式Linux工控主板自帶6個(gè)異步串口;還支持用戶通過精簡(jiǎn)ISA總線、USB接口擴(kuò)展出更多的串口。本文介紹使用英利工控主板,通過精簡(jiǎn)ISA總線連接ETA503 四串口擴(kuò)展模塊,組成10串口的擴(kuò)展應(yīng)用方案。同時(shí),通過USB接口擴(kuò)展串口的應(yīng)用方案參見《英利工控主板8串口應(yīng)用方案》。

本文以EM9460工控主板為例,然而該方案完全適用于英利EM9x60系列工控主板。

該方案的系統(tǒng)構(gòu)成如下圖所示:

EM9460工控主板為例的串口擴(kuò)展應(yīng)用方案

由EM9460工控主板與ETA503組成的10串口系統(tǒng)

ETA503是一款基于英利嵌入式Linux工控主板的四串口擴(kuò)展模塊,通過一片16C554和一片邏輯控制器擴(kuò)展出四個(gè)串口供用戶使用。ETA503的硬件設(shè)計(jì)使得用戶既能快速方便地進(jìn)行評(píng)估,又能很好地將其融入自己的產(chǎn)品設(shè)計(jì)中。用戶可通過以下步驟來快速實(shí)現(xiàn)10串口應(yīng)用方案:

1、原型評(píng)估
ETA503 的外觀示意圖如下:

(標(biāo)注尺寸:inch(1 inch = 1000mil = 25.4mm))

ETA503包括5個(gè)插座,其中CN1為精簡(jiǎn)ISA總線接口,其信號(hào)定義如下:

信號(hào)名稱及簡(jiǎn)要描述 PIN# 信號(hào)名稱及簡(jiǎn)要描述
RESET#,復(fù)位輸出 1 2 SA0,地址總線
SD0,數(shù)據(jù)總線,低位 3 4 SA1,地址總線
SD1,數(shù)據(jù)總線 5 6 SA2,地址總線
SD2,數(shù)據(jù)總線 7 8 SA3,地址總線
SD3,數(shù)據(jù)總線 9 10 SA4,地址總線
SD4,數(shù)據(jù)總線 11 12 WE#,寫信號(hào)控制線
SD5,數(shù)據(jù)總線 13 14 RD#,讀信號(hào)控制線
SD6,數(shù)據(jù)總線 15 16 CS1#,片選線
SD7,數(shù)據(jù)總線,高位 17 18 VCC,+5V電源輸出
IRQ1,中斷請(qǐng)求線 19 20 GND,公共地

CN3-CN6是四個(gè)擴(kuò)展出的9線制串口,LVTTL(3.3V)電平,分別對(duì)應(yīng)ttyISA0-ttyISA3,具有相同的信號(hào)定義如下:

信號(hào)名稱及簡(jiǎn)要描述 PIN# 信號(hào)名稱及簡(jiǎn)要描述
DCD# 1 2 DSR#
RXD 3 4 RTS#
TXD 5 6 CTS#
DTR# 7 8 RI#
GND 9 10 VCC(+5V)

從英利公司購(gòu)買EM9x60開發(fā)評(píng)估套件和ETA503,通過精簡(jiǎn)ISA總線進(jìn)行連接,可進(jìn)行快速的功能評(píng)估。ETA503的驅(qū)動(dòng)程序已經(jīng)固化在英利嵌入式Linux工控主板中,在此基礎(chǔ)上,客戶可利用英利公司為ETA503提供的基本通訊應(yīng)用程序源代碼快速評(píng)估多串口擴(kuò)展單元的基本性能是否滿足其具體的應(yīng)用需求。

2、設(shè)計(jì)應(yīng)用產(chǎn)品
實(shí)際應(yīng)用時(shí),ETA503可以作為一個(gè)“器件”直接背插在用戶的應(yīng)用底板上,以獲得最佳的數(shù)據(jù)傳輸性能。如果需要修改各個(gè)串口的驅(qū)動(dòng)形式,如RS232C、RS485、RS422等,用戶可以參考相應(yīng)開發(fā)評(píng)估底板的電路原理圖和PCB圖。

3、應(yīng)用程序開發(fā)
在Linux應(yīng)用環(huán)境中對(duì)擴(kuò)展串口的編程方法與標(biāo)準(zhǔn)的串口應(yīng)用程序完全一樣,只是需要注意打開擴(kuò)展串口的設(shè)備名稱有所不同,對(duì)于擴(kuò)展串口需采用“/dev/ttyISAx”,而不是板卡上的串口名稱“/dev/ttySx”。

英利所提供的擴(kuò)展驅(qū)動(dòng)庫文件放置在根文件系統(tǒng)/lib/modules/2.6.30目錄下,相關(guān)的驅(qū)動(dòng)文件是:
/lib/modules/2.6.30/eta503_serial.ko

在使用時(shí)需要首先載入該驅(qū)動(dòng)功能模塊,在Linux操作系統(tǒng)下,一般是利用系統(tǒng)的內(nèi)部指令insmod來實(shí)現(xiàn)向系統(tǒng)內(nèi)核載入模塊:
[root@EM9X60 /mnt/nandflash]# insmod /lib/modules/2.6.30/eta503_serial.ko

在嵌入式領(lǐng)域的應(yīng)用中,往往是需要自動(dòng)加載模式的方式,這一功能可通過編程來實(shí)現(xiàn),利用C++中的構(gòu)造函數(shù)以及析構(gòu)函數(shù)可以很好地實(shí)現(xiàn)驅(qū)動(dòng)功能模塊的自動(dòng)載入和自動(dòng)卸載。

定義一個(gè)class CSerial 串口通訊類,在該類中主要實(shí)現(xiàn)串口通訊應(yīng)用的功能。
其構(gòu)造函數(shù):
CSerial:: CSerial ( )
{
system( 'insmod /lib/modules/2.6.30/eta503_serial.ko' ); // 載入擴(kuò)展串口驅(qū)動(dòng)模塊
}

對(duì)應(yīng)的析構(gòu)函數(shù):
CSerial::~CSerial( )
{
system( 'rmmod eta503_serial.ko' ); // 卸載驅(qū)動(dòng)模塊
}

應(yīng)用程序中,一旦定義了class CSerial 的實(shí)例就實(shí)現(xiàn)了鍵盤模塊的自動(dòng)載入。后續(xù)就可按照標(biāo)準(zhǔn)打開串口設(shè)備文件的方式操作擴(kuò)展串口。在Linux系統(tǒng)中,所有的設(shè)備文件都位于“/dev”目錄下,EM9460板卡上6個(gè)串口所對(duì)應(yīng)的設(shè)備名依次為“/dev/ttyS1”-“/dev/ttyS6”,通過ETA503擴(kuò)展出的串口設(shè)備名依次為“/dev/ttyISA0”-“/dev/ttyISA3”。為了方便統(tǒng)一應(yīng)用程序,可以做以下操作:

if( PortNo>6 )
sprintf( portname, '/dev/ttyISA%d', PortNo-6); // PortNo為串口端口號(hào),從7開始
else
sprintf( portname, '/dev/ttyS%d', PortNo ); // PortNo為串口端口號(hào),從1開始
m_fd = open( portname,O_RDWR | O_NOCTTY | O_NONBLOCK);

具體串口通訊的細(xì)節(jié)可參考《英利Linux工控主板應(yīng)用程序編程手冊(cè)》中的相關(guān)章節(jié)。如果還需要更多的串口擴(kuò)展,可參閱《英利工控主板8串口應(yīng)用方案》中的介紹作進(jìn)一步的串口擴(kuò)展??蛻艨梢跃C合這兩個(gè)方案并進(jìn)行拓展應(yīng)用,以擴(kuò)展出符合自己需求數(shù)量的串口。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208460
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6083

    瀏覽量

    35093
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    工控主板EM335x多串口擴(kuò)展方案

    中斷請(qǐng)求輸入,必須由EM335x主板的GPIO24充當(dāng)。ISA信號(hào)以#后綴的信號(hào),表示低電平有效。多串口擴(kuò)展模塊ETA503 / ETA5
    發(fā)表于 07-05 16:01

    英利Linux工控主板使用必讀(EM9x60)

    英利EM9x60系列工控主板包括兩個(gè)型號(hào):EM9160和EM9260。便于讀者了解和使用英利產(chǎn)
    發(fā)表于 11-09 21:47 ?34次下載

    嵌入式工控主板EM9160的PWM功能

    英創(chuàng)公司新近推出的嵌入式工控主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價(jià)比ARM9+WinCE平臺(tái),該工控主板不僅配置了常規(guī)的標(biāo)準(zhǔn)通訊
    發(fā)表于 04-09 15:49 ?36次下載

    EM9460工控主板數(shù)據(jù)手冊(cè)資料免費(fèi)下載

    EM9460 是一款專為高效低成本工控應(yīng)用而設(shè)計(jì)的嵌入式 Linux 主板,其硬件核心工業(yè)級(jí)的 ARM9 芯片 AT91SAM9260,預(yù)裝嵌入式 Linux-2.6 實(shí)時(shí)多任務(wù)操作
    發(fā)表于 11-21 08:00 ?12次下載

    基于EM9460的ETA501使用方法

    本文將以EM9460介紹ETA501的使用方法,該方法同樣適用于英利的其他Linux嵌入式主板產(chǎn)品,如EM9160、
    的頭像 發(fā)表于 10-27 11:09 ?1846次閱讀

    英創(chuàng)信息技術(shù)工控主板EM9000串口擴(kuò)展介紹

    EM9000工控主板是英創(chuàng)公司的主流產(chǎn)品之一,以突出的綜合性性能為特色,特別是Windows CE平臺(tái)與EM9000較強(qiáng)的顯示硬件單元相匹配,使其得到了越來越廣泛的應(yīng)用。在工業(yè)應(yīng)用中,
    的頭像 發(fā)表于 11-15 09:19 ?1708次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>EM</b>9000<b class='flag-5'>串口</b><b class='flag-5'>擴(kuò)展</b>介紹

    英創(chuàng)信息技術(shù)EM9560工控主板簡(jiǎn)介

    了新的需求。針對(duì)這些需求,我們對(duì)其產(chǎn)品進(jìn)行了進(jìn)一步的優(yōu)化設(shè)計(jì),并將在近期推出與EM9460完全兼容的增強(qiáng)版本,產(chǎn)品型號(hào)為EM9560工控主板。 EM
    的頭像 發(fā)表于 01-15 14:48 ?1428次閱讀

    英創(chuàng)信息技術(shù)EM9560工控主板GPIO的使用介紹

    EM9560工控主板是以EM9460工控主板基礎(chǔ),
    的頭像 發(fā)表于 01-15 14:48 ?1530次閱讀

    英創(chuàng)信息技術(shù)EM9560工控主板專用數(shù)字IO的使用介紹

    EM9560工控主板是以EM9460工控主板基礎(chǔ),
    的頭像 發(fā)表于 01-15 14:25 ?1378次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>EM</b>9560<b class='flag-5'>工控</b><b class='flag-5'>主板</b>專用數(shù)字IO的使用介紹

    英創(chuàng)信息技術(shù)EM9X60利用串口實(shí)現(xiàn)ISO7816介紹

    英利EM9160、EM9460系列產(chǎn)品,均以豐富的串口資源特色,已大量地應(yīng)用于工業(yè)環(huán)境中,特別是在電力系統(tǒng)中應(yīng)用。最近公司即將推出一款新的產(chǎn)品EM
    的頭像 發(fā)表于 01-15 14:49 ?2757次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>EM</b>9X60利用<b class='flag-5'>串口</b>實(shí)現(xiàn)ISO7816介紹

    英創(chuàng)信息技術(shù)EM9280工控主板對(duì)音頻的支持介紹

    對(duì)于需要使用音頻播放應(yīng)用的工控系統(tǒng),我們?cè)O(shè)計(jì)了專門的音頻擴(kuò)展模塊ETA972,ETA972可與英創(chuàng)的大部份工控主板配合使用。EM9280是我
    的頭像 發(fā)表于 01-16 09:15 ?1537次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>EM</b>9280<b class='flag-5'>工控</b><b class='flag-5'>主板</b>對(duì)音頻的支持介紹

    英創(chuàng)信息技術(shù)Linux調(diào)試串口轉(zhuǎn)換為應(yīng)用串口的方法

    英創(chuàng)公司的EM9X60系列工控主板(包括 EM9160、EM9360、EM9460
    的頭像 發(fā)表于 01-16 09:28 ?1548次閱讀

    英創(chuàng)信息技術(shù)EM9280工控主板對(duì)TF卡支持介紹

    標(biāo)準(zhǔn)配置的EM9280工控主板有8路串口,其中COM7、COM8、COM9這3路是EM9280擴(kuò)展
    的頭像 發(fā)表于 01-17 10:22 ?1665次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>EM</b>9280<b class='flag-5'>工控</b><b class='flag-5'>主板</b>對(duì)TF卡支持介紹

    英創(chuàng)信息技術(shù)EM9460 USB虛擬串口應(yīng)用簡(jiǎn)介

    ,最方便的方法就是利用EM9460中的USB device設(shè)備口和PC機(jī)的USB主控口相連,在EM9460的USB device驅(qū)動(dòng)實(shí)現(xiàn)將其映射一個(gè)虛擬串口的功能,PC和
    的頭像 發(fā)表于 02-03 08:59 ?1648次閱讀
    英創(chuàng)信息技術(shù)<b class='flag-5'>EM9460</b> USB虛擬<b class='flag-5'>串口</b>應(yīng)用簡(jiǎn)介

    英創(chuàng)信息技術(shù)EM335x工控主板四網(wǎng)絡(luò)擴(kuò)展方案介紹

    擴(kuò)展需求,英創(chuàng)公司推出利用精簡(jiǎn)ISA總線接口的雙網(wǎng)絡(luò)擴(kuò)展單元ETA728。客戶可以直接使用ETA728或者參考ETA728進(jìn)行設(shè)計(jì),從而組成EM335x嵌入式主板的四網(wǎng)絡(luò)應(yīng)用
    的頭像 發(fā)表于 02-03 10:03 ?1278次閱讀