亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式控制系統(tǒng)的串口擴(kuò)展設(shè)計(jì)方法

        2016-04-20 02:50:46西南技術(shù)物理研究所楊光海彭曉樂王之昊
        電子世界 2016年6期
        關(guān)鍵詞:嵌入式方法

        西南技術(shù)物理研究所 楊光海 彭曉樂 張 川 王 海 孫 海 徐 丹 王之昊

        ?

        嵌入式控制系統(tǒng)的串口擴(kuò)展設(shè)計(jì)方法

        西南技術(shù)物理研究所 楊光海 彭曉樂 張 川 王 海 孫 海 徐 丹 王之昊

        【摘要】本文以工程應(yīng)用為出發(fā)點(diǎn),闡述了在嵌入式控制系統(tǒng)中,兩種不同的實(shí)現(xiàn)UART擴(kuò)展的方法,從而實(shí)現(xiàn)不同方式的多串口擴(kuò)展,以供工程開發(fā)者進(jìn)行選用。 嵌入式;UART;多串口

        0 引言

        嵌入式系統(tǒng)(Embedded system),是一種“完全嵌入受控器件內(nèi)部,為特定應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng)”,根據(jù)英國電氣工程師協(xié)會( U.K. Institution of Electrical Engineer)的定義,嵌入式系統(tǒng)為控制、監(jiān)視或輔助設(shè)備、機(jī)器或用于工廠運(yùn)作的設(shè)備。與個(gè)人計(jì)算機(jī)這樣的通用計(jì)算機(jī)系統(tǒng)不同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預(yù)先定義的任務(wù)。由于嵌入式系統(tǒng)只針對一項(xiàng)特殊的任務(wù),設(shè)計(jì)人員能夠?qū)λM(jìn)行優(yōu)化,減小尺寸降低成本。

        嵌入式控制系統(tǒng)是一個(gè)控制程序存儲在ROM中的嵌入式處理器控制板。嵌入式控制系統(tǒng)的核心是由一個(gè)或幾個(gè)預(yù)先編程好以用來執(zhí)行少數(shù)幾項(xiàng)任務(wù)的微處理器(DSP或單片機(jī))組成。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如微波爐、錄像機(jī)、汽車等,都使用嵌入式控制系統(tǒng),大多數(shù)嵌入式控制系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。

        在嵌入式控制系統(tǒng)中,各部件間的計(jì)算機(jī)微控制芯片(DSP或單片機(jī))都需要進(jìn)行數(shù)據(jù)交換建立通訊聯(lián)系,使用串行通訊手段是其中一種重要、常用的通訊方式。串行通訊工作方式分為同步方式和異步方式兩種,在實(shí)際工作中,異步方式用得最多,本文主要討論異步方式,其包括三個(gè)常用的總線標(biāo)準(zhǔn):RS-232、RS-422、RS-485。

        串行通信接口(串口)在嵌入式控制系統(tǒng)數(shù)據(jù)通信中一直扮演極重要的角色, 具有線路簡單、應(yīng)用靈活、可靠性高等優(yōu)點(diǎn),它不僅沒有因?yàn)榧夹g(shù)的進(jìn)步而被淘汰,反而呈現(xiàn)向速度等極限挑戰(zhàn)的趨勢。 串口已成為許多高端C PU和低端單片機(jī)的標(biāo)準(zhǔn)配置。但是目前的嵌入式芯片,包括單片機(jī)或DSP芯片中,目前最多二個(gè)串口,幾乎沒有超過這個(gè)數(shù)目的,因此,軟件模擬串口的收發(fā)工作往往是此類系統(tǒng)的擴(kuò)展多串口的首選方案,但該方案不僅占用資源,且應(yīng)用效果并不理想,如何在此類系統(tǒng)中擴(kuò)展串口,以滿足其具體應(yīng)用,無疑具有現(xiàn)實(shí)意義。

        1 串口實(shí)現(xiàn)方法

        從硬件的角度來說,串口的實(shí)現(xiàn)方法是串口驅(qū)動芯片配上異步串口收發(fā)器UART(Universal Asynchronous Receiver/Transmitter)即可實(shí)現(xiàn)。如圖1所示,以MAXIM公司的RS422驅(qū)動器MAX3491為例,說明一路異步串口實(shí)現(xiàn)的方式。實(shí)現(xiàn)多路串口,即實(shí)現(xiàn)圖1所示串口的疊加。

        圖1 異步串口實(shí)現(xiàn)示意圖

        一般來說,嵌入式系統(tǒng)中實(shí)現(xiàn)多路串口的瓶頸在于微控制芯片(DSP或單片機(jī))的UART端口較少,所以,實(shí)現(xiàn)串口擴(kuò)展的關(guān)鍵在于UART的擴(kuò)展,串口驅(qū)動器。實(shí)現(xiàn)UART擴(kuò)展的方法有兩種,一種是利用串口擴(kuò)展芯片實(shí)現(xiàn),這類芯片較多,例如TI公司的UART擴(kuò)展器16C550、16C552、16C554、16C754等芯片,一片最多能擴(kuò)展4路串口,本文以TI公司的TL16C554為例,講述利用UART擴(kuò)展器擴(kuò)展串口的方法,另一種是利用FPGA芯片進(jìn)行串口擴(kuò)展,在FPGA芯片內(nèi)以Verilong為硬件描述語言,實(shí)現(xiàn)串行通訊的接收模塊和發(fā)送模塊,一顆FPGA芯片可實(shí)現(xiàn)多路串口的接收模塊和發(fā)送模塊。上述兩種方法的基礎(chǔ)上搭配串口驅(qū)動芯片,從而實(shí)現(xiàn)多路串口的擴(kuò)展。

        2 利用UART擴(kuò)展器擴(kuò)展UART的方法

        2.1 TL16C654功能特點(diǎn)

        TL16C654是TI公司的異步通訊芯片,其主要特點(diǎn)如下:

        ●具有4通道異步通訊收發(fā)器(UART);

        ●最高可達(dá)1Mbits/s的波特率,波特率發(fā)生器可軟件編程設(shè)置;

        ●16字節(jié)的先進(jìn)先出存儲器(FIFO),F(xiàn)IFO均可設(shè)置觸發(fā)中斷字節(jié)數(shù);

        ●標(biāo)準(zhǔn)的異步通訊狀態(tài)位,包括起始位,停止位,校驗(yàn)位;

        ●每個(gè)通道獨(dú)立控制發(fā)送、接收、線態(tài)和數(shù)據(jù)裝置中斷

        ●具有可編程的數(shù)據(jù)格式

        數(shù)據(jù)位長度為5、6、7、8;

        可設(shè)置為奇校驗(yàn)、偶校驗(yàn)、無校驗(yàn)?zāi)J剑?/p>

        停止位長度可設(shè)置為1、1.5、2;

        ●缺省的數(shù)據(jù)起始位檢測;

        ●每個(gè)通道的數(shù)據(jù)和控制總線采用三態(tài)TTL驅(qū)動;

        ●中斷優(yōu)先控制系統(tǒng);

        ●Modem 控制功能;

        TL16C554的主要引腳的功能說明如下:

        A0~A2:片內(nèi)寄存器的選擇信號;

        D0~D7:雙向8位數(shù)據(jù)線信號;

        CSA、CSB、CSC、CSD:輸入片選信號,分別能使4個(gè)串行通道讀寫操作;

        XTAL1、XTAL2:晶振或外部時(shí)鐘輸入輸出端,該腳可接外部晶振或時(shí)鐘信號;

        INTA、INTB、INTC、INTD:4個(gè)串行口中斷輸出;

        RXA、RXB、RXC、RXD:串行數(shù)據(jù)輸入引腳;

        TXA、TXB、TXC、TXD:串行數(shù)據(jù)輸出引腳;

        RESET:復(fù)位信號輸入引腳;

        IOR、IOW:輸入/輸出讀/寫選通脈沖。

        TL16C554的每路串行UART通道均有10個(gè)寄存器可被CPU訪問,這些寄存器分別用于通訊參數(shù)的設(shè)置、FIFO的控制、對線路及Modem的狀態(tài)訪問、數(shù)據(jù)的發(fā)送和接收、中斷管理等功能。編程人員可由A0、A1、A2三條片內(nèi)寄存器選擇線和線路控制寄存器的除法數(shù)鎖存器訪問位LCR及IOR、IOW一起通過多路復(fù)用進(jìn)行訪問或控制TL16C554的任何一個(gè)寄存器。表1給出了訪問這些寄存器的LCR、A0、A1、A2以及讀寫的狀態(tài)。

        2.2 串口擴(kuò)展的實(shí)現(xiàn)

        以TL16C654與其他設(shè)備進(jìn)行串行通訊相關(guān)的寄存器作簡單介紹。

        兩個(gè)8位波特率因子寄存器以一個(gè)16位的二進(jìn)制格式存貯波特率因子。波特率因子可通過下列算式求出:

        波特率因子=基準(zhǔn)時(shí)鐘頻率/(16×波特率)

        表1 TL16C554的片內(nèi)寄存器

        根據(jù)串口波特率,選擇合適的晶振頻率給16C654芯片提供基準(zhǔn)時(shí)鐘頻率,根據(jù)上式計(jì)算出波特率因子,以便在軟件編程時(shí)設(shè)置。寫入波特率因子前必須置線路控制寄存器(LCR)的bit7位為1,寫入波特率因子后應(yīng)將線路控制寄存器(LCR)的bit7位恢復(fù)為0。

        將TL16C554芯片的串行串行數(shù)據(jù)輸入、輸出引腳接在串口驅(qū)動芯片的串行數(shù)據(jù)的輸出、輸入引腳上,如MAXIM公司的MAX3491芯片的DI、RO引腳上,即可以實(shí)現(xiàn)串口的擴(kuò)展。

        3 利用FPGA擴(kuò)展UART的方法

        3.1 概述

        FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。

        完整的UART接口包括發(fā)送鎖存器、發(fā)送移位寄存器和邏輯控制組成的發(fā)送模塊,以及由接收鎖存器、接收移位寄存器和邏輯控制組成的接收模塊,其UART接口結(jié)構(gòu)圖如圖2所示。

        UART的幀格式,一般包括空閑狀態(tài)(高電平)、起始位(低電平)、5~8位數(shù)據(jù)位、校驗(yàn)位(可選,高電平或低電平)和停止位(高電平,位數(shù)可為1、1.5、2位)。

        UART包含一個(gè)可編程的波特率發(fā)生器,可按照需求配置波特率。波特率發(fā)生器給串口數(shù)據(jù)發(fā)送模塊和接收模塊提供發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的基準(zhǔn)時(shí)鐘信號,其產(chǎn)生的時(shí)鐘mclk x 16 是串行數(shù)據(jù)波特率的16倍,它對系統(tǒng)時(shí)鐘的n分頻,n=系統(tǒng)時(shí)鐘/波特率 x 16,可根據(jù)需要的波特率設(shè)置相應(yīng)的數(shù)值。

        圖2 UART接口結(jié)構(gòu)

        3.2 發(fā)送模塊設(shè)計(jì)

        當(dāng)數(shù)據(jù)總線上并行的8位數(shù)據(jù)從總線寫入發(fā)送模塊后,發(fā)送模塊將并行數(shù)據(jù)裝入鎖存器中,然后在位移寄存器中將數(shù)據(jù)移位,產(chǎn)生完成的發(fā)送序列(包括起始位,數(shù)據(jù)位,校驗(yàn)位和停止位),以相應(yīng)的波特率從tx發(fā)送。

        發(fā)送模塊部分Verilong程序如下:

        .cpu_clk(cpu_clk),

        .send_clk(clk_out),

        .rst_n(rst_n),

        .cpu_write(cpu_write),

        .cpu_ce(cpu_ce),

        .cpu_data(cpu_data),

        .cpu_add(cpu_add),

        .send_flag(send_flag),

        .uart_txdata(uart_txdata),

        .s_full_bit(s_full_bit),

        .s_empt_bit(s_empt_bit)

        3.3 接收模塊設(shè)計(jì)

        接收模塊首先捕捉起始位,在mclk x 16時(shí)鐘下不斷檢測從rx端輸入數(shù)據(jù)的起始位,當(dāng)檢測到起始位后,接收模塊由空閑模式轉(zhuǎn)換為移位模式,并且16分頻mclk x 16產(chǎn)生rxlk時(shí)鐘的上升沿位于串行數(shù)據(jù)每一位的中間,這樣接下來的數(shù)據(jù)在每一位的中點(diǎn)采樣。然后由rxclk控制在上升沿將數(shù)據(jù)位寫入移位寄存器rsr的rsr[7]位,并且rsr右移1位,依次將8位數(shù)據(jù)全部寫入rsr,并且停止產(chǎn)生rxckl波特率時(shí)鐘。判斷檢驗(yàn)位、幀結(jié)構(gòu)正確后,rsr寄存器中的數(shù)據(jù)寫入數(shù)據(jù)鎖存寄存器中,最后由8位數(shù)據(jù)總線輸出轉(zhuǎn)換完成的數(shù)據(jù)。

        接收模塊部分Verilong程序如下:

        .rst_n(rst_n),

        .rx_clk(clk_16_out),

        .rx_data_ready(rx_data_ready),

        .rx_data (rx_data),

        .num_to_int(num_to_int),

        .aclr(aclr),

        .int_choose(int_choose),

        .cpu_clk(cpu_clk),

        .cpu_read(cpu_read),

        .cpu_add(cpu_add),

        .cpu_ce(cpu_ce),

        .cpu_int(cpu_int),

        .r_fifo_bit(r_fifo_bit),

        .r_over_bit(r_over_bit)

        4 結(jié)束語

        通過UART的擴(kuò)展實(shí)現(xiàn)了串口的擴(kuò)展,采用UART擴(kuò)展器的方法具有工作穩(wěn)定,具有一定FIFO深度,不需額外增加軟件開發(fā)、管理的成本,但是使用的靈活不夠。采用FPGA擴(kuò)展UART的方法使用靈活性強(qiáng),但需額外增加軟件開發(fā)、管理的成本。用戶可以根據(jù)實(shí)際使用情況選用UART的擴(kuò)展方法,以提高工作效率。

        參考文獻(xiàn)

        [1]朱學(xué)明,丁萬山.一種基于TL16C554A的DSP多串口擴(kuò)展方法[J].微處理機(jī),2006,6:24-27

        [2]田紅霞,戴彥,鹿玉紅.基于FPGA的RS232串行接口設(shè)計(jì)[J].煤炭技術(shù),2010,9(29):194-196.

        [3]李金力,劉文怡,彭旭峰.基于FPGA的RS232異步串行口IP核設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,8(17):31-31,35.

        [4]Texas Instruments.TL16C554,TL16C554I ASYNCHRONOUS COMMUNICATIONS ELEMENT.

        [5]MAXIM,3.3V-Powered,10Mbps and Slew-Rate-LimitedTrue RS-485/RS-422 Transceivers.

        楊光海(1978—),大學(xué)本科,工程師,研究方向:嵌入式控制。

        作者簡介:

        猜你喜歡
        嵌入式方法
        學(xué)習(xí)方法
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        捕魚
        中文字幕精品一区二区2021年| 国产色第一区不卡高清| 日韩一区av二区三区| 99久久超碰中文字幕伊人| 免费无码av片在线观看网址| 日韩精人妻无码一区二区三区| 日本在线免费不卡一区二区三区| 色欲色香天天天综合vvv| 国产在线视频一区二区三区| 中文字幕亚洲精品第1页| 蜜桃视频成年人在线观看| 国产人妻鲁鲁一区二区| 一本色道久久99一综合| 国内成人精品亚洲日本语音| 久久精品久久精品中文字幕| 欧美性生交大片免费看app麻豆 | 国产精品天天在线午夜更新| 北岛玲中文字幕人妻系列| 中文字幕东京热一区二区人妻少妇| 中文字幕有码无码人妻av蜜桃| 精品国产一区二区三区久久狼| 狠狠综合亚洲综合亚色| 亚洲毛片免费观看视频| 狼人青草久久网伊人| 欧美精品中文字幕亚洲专区| 亚洲处破女av一区二区| 四虎影在永久在线观看| 欧美gv在线观看| 国产传媒在线视频| 日韩精品一区二区三区人妻在线| 人妻 日韩 欧美 综合 制服| 欧美色综合高清视频在线| 人妻风韵犹存av中文字幕| 在线免费观看一区二区| 射死你天天日| 亚洲性无码av在线| a黄片在线视频免费播放| 亚洲av高清在线一区二区三区 | 日韩在线手机专区av| 日本一区二区在线免费视频| 成av免费大片黄在线观看|