<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>
  • 英利工控主板10串口應用方案

     2011-2-25             

            多串口通訊在工控領域中是十分常用的一種通訊方式,常用于數據交互、搜集、傳送等。基于這類應用,英利嵌入式Linux工控主板自帶6個異步串口;還支持用戶通過精簡ISA總線、USB等接口擴展出更多的串口。本文介紹使用英利工控主板,通過精簡ISA總線連接ETA503 四串口擴展模塊,組成10串口的擴展應用方案。同時,通過USB接口擴展串口的應用方案參見《英利工控主板8串口應用方案》

     

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

     

            該方案的系統構成如下圖所示:

     

    英利工控主板10串口應用方案

    由EM9460工控主板與ETA503組成的10串口系統

     

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

     

            1、原型評估
            ETA503 的外觀示意圖如下:

     

    ETA503外觀示意圖

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

     

            ETA503包括5個插座,其中CN1為精簡ISA總線接口,其信號定義如下:

     

    信號名稱及簡要描述

    PIN#

    信號名稱及簡要描述

           RESET#,復位輸出

    1

    2

            SA0,地址總線
           SD0,數據總線,低位

    3

    4

            SA1,地址總線
           SD1,數據總線

    5

    6

            SA2,地址總線
           SD2,數據總線

    7

    8

            SA3,地址總線
           SD3,數據總線

    9

    10

            SA4,地址總線
           SD4,數據總線

    11

    12

            WE#,寫信號控制線
           SD5,數據總線

    13

    14

            RD#,讀信號控制線
           SD6,數據總線

    15

    16

            CS1#,片選線
           SD7,數據總線,高位

    17

    18

            VCC,+5V電源輸出
           IRQ1,中斷請求線

    19

    20

            GND,公共地

     

            CN3-CN6是四個擴展出的9線制串口,LVTTL(3.3V)電平,分別對應ttyISA0-ttyISA3,具有相同的信號定義如下:

     

    信號名稱及簡要描述

    PIN#

    信號名稱及簡要描述

           DCD#

    1

    2

            DSR#
           RXD

    3

    4

            RTS#
           TXD

    5

    6

            CTS#
           DTR#

    7

    8

            RI#
           GND

    9

    10

            VCC(+5V)

     

            從英利公司購買EM9x60開發評估套件和ETA503,通過精簡ISA總線進行連接,可進行快速的功能評估。ETA503的驅動程序已經固化在英利嵌入式Linux工控主板中,在此基礎上,客戶可利用英利公司為ETA503提供的基本通訊應用程序源代碼快速評估多串口擴展單元的基本性能是否滿足其具體的應用需求。

     

            2、設計應用產品
            實際應用時,ETA503可以作為一個“器件”直接背插在用戶的應用底板上,以獲得最佳的數據傳輸性能。如果需要修改各個串口的驅動形式,如RS232C、RS485、RS422等,用戶可以參考相應開發評估底板的電路原理圖和PCB圖。

     

            3、應用程序開發
            在Linux應用環境中對擴展串口的編程方法與標準的串口應用程序完全一樣,只是需要注意打開擴展串口的設備名稱有所不同,對于擴展串口需采用“/dev/ttyISAx”,而不是板卡上的串口名稱“/dev/ttySx”。

     

            英利所提供的擴展驅動庫文件放置在根文件系統/lib/modules/2.6.30目錄下,相關的驅動文件是:
            /lib/modules/2.6.30/eta503_serial.ko

     

            在使用時需要首先載入該驅動功能模塊,在Linux操作系統下,一般是利用系統的內部指令insmod來實現向系統內核載入模塊:
            [root@EM9X60 /mnt/nandflash]#  insmod  /lib/modules/2.6.30/eta503_serial.ko

     

            在嵌入式領域的應用中,往往是需要自動加載模式的方式,這一功能可通過編程來實現,利用C++中的構造函數以及析構函數可以很好地實現驅動功能模塊的自動載入和自動卸載。

     

            定義一個class CSerial 串口通訊類,在該類中主要實現串口通訊應用的功能。
            其構造函數:
            CSerial:: CSerial ( )
            {
                    system( 'insmod /lib/modules/2.6.30/eta503_serial.ko' ); // 載入擴展串口驅動模塊
            }

     

            對應的析構函數:
            CSerial::~CSerial( ) 
            {
                    system( 'rmmod eta503_serial.ko' ); // 卸載驅動模塊
            }

     

            應用程序中,一旦定義了class CSerial 的實例就實現了鍵盤模塊的自動載入。后續就可按照標準打開串口設備文件的方式操作擴展串口。在Linux系統中,所有的設備文件都位于“/dev”目錄下,EM9460板卡上6個串口所對應的設備名依次為“/dev/ttyS1”-“/dev/ttyS6”,通過ETA503擴展出的串口設備名依次為“/dev/ttyISA0”-“/dev/ttyISA3”。為了方便統一應用程序,可以做以下操作:

     

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

     

            具體串口通訊的細節可參考《英利Linux工控主板應用程序編程手冊》中的相關章節。如果還需要更多的串口擴展,可參閱《英利工控主板8串口應用方案》中的介紹作進一步的串口擴展。客戶可以綜合這兩個方案并進行拓展應用,以擴展出符合自己需求數量的串口。

    精品无码AV无码免费专区| 久久久精品波多野结衣| 老司机免费午夜精品视频| 亚洲国产一成久久精品国产成人综合| 国产精品一区二区久久精品无码| 亚洲精品无码久久久久sm| 国产极品白嫩精品| 91成人精品视频| 久久免费国产精品| 少妇人妻偷人精品无码视频| 99爱在线精品免费观看| 国产免费69成人精品视频| 久久亚洲精品中文字幕三区| 亚洲熟妇无码久久精品| 青青久久精品国产免费看| 亚洲高清国产AV拍精品青青草原| 亚洲日韩国产精品乱-久| 国产乱色精品成人免费视频| jizz国产精品jizz中国| 国产成人久久久精品二区三区| 久久国产精品一国产精品金尊 | 日韩精品一区二区三区毛片 | 国产美女精品一区二区三区| 国产精品深爱在线| 国产精品va无码一区二区| 亚洲精品成人a在线观看| 精品国产亚洲第一区二区三区| 亚洲色精品aⅴ一区区三区| 国产精品国语对白露脸在线播放| 国产揄拍国产精品| 亚洲国产精品人人做人人爱| 精品国产成a人在线观看| 精品国产日韩久久亚洲| 亚洲精品mv在线观看| 人妻少妇精品视频二区| 国产精品无码一区二区三级| 久久精品女人天堂AV麻| 国产精品国产三级在线专区 | 精品国产一区二区三区www| 久久久久久久91精品免费观看| 亚洲精品电影在线|