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

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

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

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

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

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

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

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

串口擴(kuò)展模塊

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

ETA503

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

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

RS485通訊接口

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

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

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

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

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

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

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

ETA232

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

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

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

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

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

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

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

對(duì)于用戶的應(yīng)用程序,可以參考以下的說明:

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

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

{

int i1,i2;

for(i2=0 ; ; )

{

// 檢查某個(gè)串口是否有數(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 要讀取的串口序號(hào)

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

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

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

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

{

int i1,i2;

for( i2=0; i2 <>

{

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

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

if( i1==-1 )

break;

}

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

StartSend( ComIdx );

return i2;

}

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

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

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

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

聲明:本文內(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)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    利Linux工控主板EM9x60使用手冊(cè)免費(fèi)下載

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

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

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

    創(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 ?1739次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控主板<b class='flag-5'>EM</b>9000<b class='flag-5'>串口</b>擴(kuò)展介紹

    創(chuàng)信息技術(shù)創(chuàng)工控主板支持電力終端標(biāo)準(zhǔn)顯示介紹

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

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

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

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

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

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

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

    創(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 ?2803次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>EM9X60</b>利用<b class='flag-5'>串口</b>實(shí)現(xiàn)ISO7816介紹

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

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

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

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

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

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

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

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

    創(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è)虛擬
    的頭像 發(fā)表于 02-03 08:59 ?1673次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>EM</b>9460 USB虛擬<b class='flag-5'>串口</b>應(yīng)用簡(jiǎn)介

    創(chuàng)信息技術(shù)ISA擴(kuò)展通訊接口簡(jiǎn)介

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