<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串口應用方案》中的介紹作進一步的串口擴展。客戶可以綜合這兩個方案并進行拓展應用,以擴展出符合自己需求數量的串口。

    国产香蕉一区二区精品视频| 青青青亚洲精品国产| 国产精品 综合 第五页| 亚洲自偷精品视频自拍| 国产精品无码无卡无需播放器| 国产1024精品视频专区免费| 精品国内片67194| 免费精品国产自产拍在线观看| 国产精品视频a播放| 久章草在线精品视频免费观看| 一本大道无码日韩精品影视_| 久久这里的只有是精品23| 久久精品人人做人人爽| 久久亚洲AV永久无码精品| 国产精品深爱在线| 国产精品免费精品自在线观看| 久久精品噜噜噜成人av| 国产亚洲精品拍拍拍拍拍| 国产精品久久久久影院| 一本一本久久a久久综合精品蜜桃| 亚洲国产精品免费视频| 亚洲一区二区三区在线观看精品中文| 国产伦精品一区二区三区免费下载| 久久香蕉国产线看精品| 久久国产加勒比精品无码| 99精品全国免费观看视频..| 国产一区二区三区国产精品| 色欲AV永久无码精品无码| 2021国产精品久久| 久久免费的精品国产V∧| 精品国产自在在线在线观看| 久久久99精品成人片中文字幕| 婷婷国产成人精品一区二| 国产精品久久香蕉免费播放| 日产精品卡一卡二卡三的概述 | 精品久久久久久中文字幕| 精品多毛少妇人妻AV免费久久| 四虎永久在线精品视频| 国产精品一区二区三区高清在线| 国产精品无码一区二区在线观 | 亚洲综合精品网站|