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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

英創(chuàng)信息技術:EM9x60串口通訊基本應用

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

串口通訊,是工業(yè)自動化、智能終端、通信管理等領域傳統(tǒng)且重要的通訊手段。最常用到的串口通信模式往往是兩種:RS232RS485。其中RS232通訊方式有三線制和九線制兩種。

英創(chuàng)所有型號的嵌入式主板均提供有串行通信接口(串口),根據(jù)不同的主板型號,串口的數(shù)量也不同,如: ETR232i、 ETR186提供有3個串口;EM9000、EM9161提供有4個串口;EM9260、EM9360、EM9160則直接提供多達6個串口。除了系統(tǒng)板載的串口以外,客戶還可根據(jù)自己的應用進行靈活擴展。基于英創(chuàng)的嵌入式系統(tǒng)的精簡ISA總線或?qū)S玫臄U展底板,可擴展出更多的通用串口,現(xiàn)可用的擴展配件有:ETA502、ETA503、ETA504。所有的串口的通訊的最高波特率均能達到115200bps。

英創(chuàng)工控主板直接提供的串口既有標準的RS232接口,也有TTL電平的串行接口,這意味著,TTL電平的串口只需要添加簡單的外圍電路驅(qū)動,就可直接轉(zhuǎn)換為標準RS232、RS485接口以及RS422接口。某些用戶(如電力系統(tǒng)用戶)還可以根據(jù)實際情況需要,在串口上添加光電隔離電路,以達到保護端口的目的。英創(chuàng)公司給用戶提供的開發(fā)底板(隨基本開發(fā)套件提供)就充分地考慮了用戶對于串口應用的多方面要求,既引出了RS232接口,也引出了 RS485接口,滿足了用戶靈活使用的需要。

串口擴展模塊

英創(chuàng)公司所提供的基于系統(tǒng)提供串口的嵌入式主板,均是通過嵌入式主板上的插針的方式,作為與用戶的接口。這些串口,能夠滿足大多數(shù)的應用環(huán)境。除止之外,還可以使用英創(chuàng)公司的串口擴展模塊進行擴展。

ETA503

ETA503是基于英創(chuàng)公司的嵌入式系統(tǒng)所特有的精簡ISA總線,擴展4個串口的擴展模塊。4個串口均是9線制通用RS232電平信號。

該模塊可以通過ISA總線在英創(chuàng)公司的所有嵌入式主板(X86系列及ARM系列)中使用,即可以通過短的排線連接在ISA總線上,這種方式可以快速實現(xiàn)功能評估,也可以將ETA503當作一個元器件一樣,用插針插在應用系統(tǒng)中所提供的插座上(ARM9+ETA503應用方案示列參考:《WinCE系統(tǒng)多串口擴展方案》)。

RS485通訊接口

在很多的工業(yè)應用場合中,長距離的通訊,仍是采用RS485的通訊方式,這種方式的應用簡單、通訊可靠、成本也很低。

其接法是:將通用的串行通訊口的接收(RX)與發(fā)送(TX)分別接至RS485接口芯片的接收輸出(RO)與發(fā)送輸入(TI)口,再用一個信號來控制RS485的收/發(fā)狀態(tài)。英創(chuàng)公司提供的RS485通訊電路中,對RS485的收發(fā)控制采用了自動收/發(fā)控制電路。這樣,一是減少了對系統(tǒng)資源的占用,二是保持與RS232一樣的驅(qū)動程序,從而提高程序的執(zhí)行效率。

自動收/發(fā)控制原理:

在通訊空閑狀態(tài),TXD(數(shù)據(jù)發(fā)送信號)為高, A點為高,B點經(jīng)R21給C11充電,其充電時間為T1,該時間定為串口發(fā)送一個字節(jié)所需的時間,由R21與C11的參數(shù)來確認。充滿后,R/T為低,RS485處于接收數(shù)據(jù)的狀態(tài)。

在發(fā)送數(shù)據(jù)時,TXD起始位產(chǎn)生第一個下降沿,使A點為低,B點經(jīng)過D5進行快速放電,使R/T很快變?yōu)楦撸琑S485處于數(shù)據(jù)發(fā)送狀態(tài)。在發(fā)送過程中,當TXD變成高電平時,C11通過R21緩慢充電,使R/T仍然保持在發(fā)送狀態(tài),可有效吸收總線上的反射信號。當RC充電結束,使R/T轉(zhuǎn)入接受狀態(tài)時,總線上的上拉、下拉電阻將維持TXD高電平的發(fā)送狀態(tài),直至整個bit發(fā)送結束。

當數(shù)據(jù)發(fā)送完畢以后,TXD變?yōu)楦唠娖剑琑C又開始充電,即經(jīng)T1時間后,RS485又轉(zhuǎn)換為數(shù)據(jù)接收狀態(tài)。

雖然RS485接口芯片具有一定的抗浪涌能力,但是在很多的工業(yè)現(xiàn)場,仍存在對接口芯片及系統(tǒng)有威脅的干擾。所以通常會采取一定的措施來進行系統(tǒng)的保護。如光電隔離與TVS等。需注意的是,如加了光電隔離,必須使其電源也隔開,這樣才能起到隔離作用。

ETA232

在英創(chuàng)所提供的嵌入式主板中,即給了RS232電平信號的串行通訊接口,也給出了TTL電平信號的串行通訊接口,且TTL電平信號的串口支持MODEM控制。如用戶在使用中,要用到TTL電平信號的串口來作RS232的通訊或是控制MODEM,則需要將TTL電平信號轉(zhuǎn)換為RS232電平信號。為此,英創(chuàng)公司也提供了相應的轉(zhuǎn)換模塊ETA323,將TTL接口的信號轉(zhuǎn)換為9線制標準的RS232接口。

基于英創(chuàng)公司的嵌入式系統(tǒng)的串口的基本應用

對于英創(chuàng)公司所提供的串口通訊的驅(qū)動,均是以中斷服務的形式,實現(xiàn)與底層硬件間的通訊。

下面以X86系列為例,說明其最基本的應用原理:

中斷服務程序的任務,就是對串口數(shù)據(jù)的接收及用戶數(shù)據(jù)的發(fā)送進行處理并對數(shù)據(jù)環(huán)形BUFF管理的過程。

當有數(shù)據(jù)被接收時,中斷服務程序便將所接收到的數(shù)據(jù)從硬件模塊中取出,并按一定的規(guī)則送入到指定的串口的接收BUFF中存貯。用戶使用GetInputData( )函數(shù)來讀取接收BUFF中的數(shù)據(jù)。應注意的是,GetInputData( )函數(shù)一次只能從BUFF中讀取一個字節(jié)的數(shù)據(jù),所以,在應用程序中,應重復調(diào)用這個函數(shù)直到函數(shù)的返回值為-1時,才表明將接收BUFF中的數(shù)據(jù)全部讀出。

當用戶要發(fā)送數(shù)據(jù)時,調(diào)用PutOutputData ( )將用戶已準備好的數(shù)據(jù),依次填入數(shù)據(jù)發(fā)送BUFF中。在數(shù)據(jù)填完后,調(diào)用StartSend( )啟動串口發(fā)送中斷,這時數(shù)據(jù)的發(fā)送將由中斷服務程序來完成。應注意的是,PutOutputData ( )函數(shù)一次也只能將一個字節(jié)的數(shù)據(jù)填入BUFF中,要反復調(diào)用該函數(shù)直到所有的數(shù)據(jù)都被填入BUFF。如PutOutputData ( )函數(shù)返回了-1,則表明BUFF已被填滿,再往BUFF中填數(shù)據(jù),將不會被接授。

對于用戶的應用程序,可以參考以下的說明:

1、 用戶可以用查詢或定時或其它的方式,對串口的數(shù)據(jù)讀取。如確認接收BUFF中有數(shù)據(jù)存在,建議一次將其全部讀出。讀取串口數(shù)據(jù)的參考程序如下:

int ReadRxdBuff( int ComIdx , unsigned char *RxBuff , int MaxLen )

{

int i1,i2;

for(i2=0 ; ; )

{

// 檢查某個串口是否有數(shù)據(jù),如沒有數(shù)據(jù)則退出,否則,將數(shù)據(jù)放入緩存器以便使用

i1 = GetInputData( ComIdx );

if( i1==-1 )

break;

RxBuff[i2]=char ( i1 );

i2++;

if(i2==MaxLen)

break;

}

return i2;

}

函數(shù)的參數(shù)說明如下:

ComIdx 要讀取的串口序號

*RxBuff 讀出的數(shù)據(jù)要存放的數(shù)據(jù)緩存器

MaxLen 讀出數(shù)據(jù)的最大長度,以限制一次性讀取的長度

2、當用戶有數(shù)據(jù)需要發(fā)送時,首先應將要發(fā)送的數(shù)據(jù)準備好,再依次將的要發(fā)送的數(shù)據(jù)一次性全部填入對應的發(fā)送BUFF中。再啟動數(shù)據(jù)發(fā)送。應注意的是,要發(fā)送的數(shù)據(jù)的長度要有一定的限制,不能超出發(fā)送BUFF的長度。數(shù)據(jù)發(fā)送的參考程序如下:

int SendTxdBuff( int ComIdx , unsigned char *TxBuff , int TxLen )

{

int i1,i2;

for( i2=0; i2 <>

{

i1=PutOutputData( ComIdx ,TxBuff[i2] );

// 每填入一個數(shù)據(jù),建議檢查一下BUFF是否被填滿

if( i1==-1 )

break;

}

// 數(shù)據(jù)被填入BUFF后,應啟動發(fā)送中斷。讓中斷程序來完成數(shù)據(jù)的發(fā)送

StartSend( ComIdx );

return i2;

}

函數(shù)的參數(shù)說明如下:

ComIdx 要發(fā)送數(shù)據(jù)的串口序號

*TxBuff 要發(fā)送的數(shù)據(jù)

TxLen 發(fā)送數(shù)據(jù)的長度

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

    關注

    7

    文章

    6085

    瀏覽量

    35402
收藏 人收藏

    評論

    相關推薦

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

    EM9x60系列工控主板包括兩個型號:EM9160和EM9260。為便于讀者了解和使用利產(chǎn)品,本手冊中一些部分會以
    發(fā)表于 11-09 21:47 ?34次下載

    利Linux工控主板EM9x60使用手冊免費下載

    本文檔的主要內(nèi)容詳細介紹的是利Linux工控主板EM9x60使用手冊免費下載。用戶第一次使用 EM9x60 往往是購買開發(fā)評估套件,開發(fā)評估套件包括如下幾部分: EM9x60 工控主
    發(fā)表于 11-21 08:00 ?3次下載

    創(chuàng)信息技術EM9X60系列嵌入式主板與122x32點陣液晶的硬件連接淺談

    創(chuàng)公司的EM9X60系列嵌入式主板能夠自動識別市面上常用的128x64、240x128、320x
    的頭像 發(fā)表于 11-04 09:39 ?1885次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b><b class='flag-5'>EM9X60</b>系列嵌入式主板與122<b class='flag-5'>x</b>32點陣液晶的硬件連接淺談

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

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

    創(chuàng)信息技術創(chuàng)工控主板支持電力終端標準顯示介紹

     創(chuàng)公司EM9X60系列工控主板廣泛應用于電力行業(yè),在最新的國家電網(wǎng)公司技術標準《電力用戶用電信息系統(tǒng)功能規(guī)范》中,對電力終端的顯示單元有
    的頭像 發(fā)表于 11-15 09:59 ?1728次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b><b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>工控主板支持電力終端標準顯示介紹

    創(chuàng)信息技術工控主板EM9161對ISO7816協(xié)議的支持概述

    在當前的金融POS終端及相關領域,ISO7816通訊協(xié)議得到了廣泛應用。創(chuàng)的工控主板EM9161,可在其異步串口的基礎上,通過簡單的設置,
    的頭像 發(fā)表于 11-17 11:50 ?1759次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>工控主板<b class='flag-5'>EM</b>9161對ISO7816協(xié)議的支持概述

    創(chuàng)信息技術工控主板EM9160對紅外通訊用途介紹

    創(chuàng)公司的EM9160是一款高性價比的工控主板,預裝正版WinCE5.0操作系統(tǒng),具有極強的通訊能力。在電力電表的應用中,紅外通訊是一種非常
    的頭像 發(fā)表于 11-18 09:58 ?1274次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>工控主板<b class='flag-5'>EM</b>9160對紅外<b class='flag-5'>通訊</b>用途介紹

    創(chuàng)信息技術主板EM9360 IRIG-B碼校時方案

    EM9360是創(chuàng)公司推出的基于AT91SAM9260的同時支持3網(wǎng),6串口和CAN通訊接口的
    的頭像 發(fā)表于 01-14 14:31 ?1530次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>主板<b class='flag-5'>EM</b>9360 IRIG-B碼校時方案

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

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

    創(chuàng)信息技術EM9280串口技術特色及應用介紹

    EM9280是創(chuàng)公司即將推出的新型工控主板產(chǎn)品。EM9280作為第一款板載8個獨立的異步串口(UART),而有別于公司的其他主板產(chǎn)品。8個
    的頭像 發(fā)表于 01-15 14:41 ?1338次閱讀

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

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

    創(chuàng)信息技術EM928x串口的RTS硬件方向控制方法

    創(chuàng)EM928x系列主板包括板載8路物理串口EM9281和EM9280,以及板載7路
    的頭像 發(fā)表于 01-16 10:21 ?1674次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b><b class='flag-5'>EM928x</b><b class='flag-5'>串口</b>的RTS硬件方向控制方法

    創(chuàng)信息技術EM9x60主板串口的RTS硬件方向控制方法

    創(chuàng)EM9x60系列工控主板均板載高速全雙工物理串口,其中除了ttyS3引出方式為232電平以外,其余串口均以TTL電平引出,客戶可以在應用
    的頭像 發(fā)表于 01-17 08:59 ?2009次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b><b class='flag-5'>EM9x60</b>主板<b class='flag-5'>串口</b>的RTS硬件方向控制方法

    創(chuàng)信息技術EM9460 USB虛擬串口應用簡介

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

    創(chuàng)信息技術ISA擴展通訊接口簡介

    ETA508 八串口通信擴展模塊 ETA503 四串口通信擴展模塊 ETA508是一款8路標準UART串口通信擴展模塊,它通過精簡ISA總線與創(chuàng)
    的頭像 發(fā)表于 02-14 09:41 ?1943次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>ISA擴展<b class='flag-5'>通訊</b>接口簡介