日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動化
[導(dǎo)讀]本文在對異步串行通信協(xié)議進(jìn)行分析的基礎(chǔ)上,根據(jù)實(shí)際工程的需要,對異步串行通信控制器進(jìn)行了詳細(xì)設(shè)計(jì),并結(jié)合CPLD器件,采用VHDL語言,對設(shè)計(jì)方案進(jìn)行了實(shí)現(xiàn)和驗(yàn)證,通過最后時(shí)序仿真的波形圖得出了設(shè)計(jì)方案的正確,而且加載了該設(shè)計(jì)程序的CPLD在實(shí)際工程中能夠很好地與處理器進(jìn)行連接來收發(fā)數(shù)據(jù),從而為那些沒有串行異步接口的處理器提供一個(gè)比較理想的設(shè)計(jì)方案。

1  引  言

串行通信實(shí)際上就是兩臺電子設(shè)備之間一位一位地發(fā)送和接收數(shù)據(jù),它分為同步通信和異步通信兩類。異步串行通信無需數(shù)據(jù)時(shí)鐘、幀同步時(shí)鐘等時(shí)鐘信號,數(shù)據(jù)的發(fā)送和接收是自同步的,完全依靠收發(fā)雙方約定的傳輸波特率和數(shù)據(jù)線自身的電平變化來正確地收發(fā)數(shù)據(jù)位流,而且又因?yàn)樗B線簡單,可以直接與PC機(jī)等帶異步串口的設(shè)備相連,同時(shí)它又采用RS 232電平,傳輸?shù)木嚯x要比同步通信的長。正因?yàn)橛猩鲜龅膬?yōu)點(diǎn),異步串行通信被廣泛應(yīng)用在要進(jìn)行遠(yuǎn)距離遙測遙控的航天電子工程中。

但是,一般的處理器芯片都帶有同步串行接口,只有少數(shù)韻處理器,如TMS320F2XX、TMS320F24XX帶有速度相對較低的異步串口。為了實(shí)現(xiàn)那些沒有帶有異步串行接口的處理器能夠與其他設(shè)備進(jìn)行異步串行通信,可以采用復(fù)雜可編程邏輯器件CPLD技術(shù),并結(jié)合異步串行通信的協(xié)議,對異步串行通信接口電路進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),該方法開發(fā)周期短,并且CPLD的時(shí)序嚴(yán)格,速度較快,可編程性好,還可以用于完成電子系統(tǒng)的其他邏輯功能的設(shè)計(jì),如實(shí)現(xiàn)系統(tǒng)的譯碼和專門的緩沖電路。這樣一塊電路板上的外圍元器件數(shù)量就大大減少,系統(tǒng)的靈活性更好,調(diào)試也變得簡單的多了,同時(shí),系統(tǒng)的功能模塊完成后可以先通過計(jì)算機(jī)進(jìn)行仿真,再實(shí)際投入使用,降低了使用風(fēng)險(xiǎn)性。

2異步串行通信的原理

異步串行通信方式是把一個(gè)字符看作一個(gè)獨(dú)立的信息單元,并且字符出現(xiàn)在數(shù)據(jù)流中的相對時(shí)間是任意的,而每一個(gè)字符中的各位是以固定的時(shí)間傳送。因此這種方式在同一字符內(nèi)部是同步的,而字符間是異步的。

異步通信的主要特點(diǎn)是字符幀的傳輸格式,這樣就使得發(fā)送方可以在字符之間可根據(jù)實(shí)際的需要插入不同的時(shí)間問隔,即每一個(gè)字符的發(fā)送是隨機(jī)的。異步串行通信是以數(shù)據(jù)幀的格式傳送的,1個(gè)字符開始傳輸前,輸出線必須在邏輯上處于‘1’狀態(tài),這稱為標(biāo)識態(tài)。傳輸一開始,輸出線由標(biāo)識態(tài)變?yōu)椤?’狀態(tài),從而作為起始位。起始位后面為5~8個(gè)信息位,信息位由低到高排列,即第1位為字符的最低位,在同一傳輸系統(tǒng)中,信息位的數(shù)目是固定的。信息位后面為校驗(yàn)位,校驗(yàn)位可以按奇校驗(yàn)設(shè)置,也可以按偶校驗(yàn)設(shè)置,不過,校驗(yàn)位也可以不設(shè)置。最后的數(shù)位為‘1’,它作為停止位,停止位可為1位、1.5位或者2位。如果傳輸完1個(gè)字符以后,立即傳輸下一個(gè)字符,那么,后一個(gè)字符的起始位便緊挨著前一個(gè)字符的停止位了,否則,輸出線又會立即進(jìn)入標(biāo)識態(tài),即邏輯上處于‘1’。圖1是兩個(gè)字節(jié)0XA0和0X67被傳輸?shù)膸母袷健?br />


在通信中發(fā)送方和接收方之間允許沒有共同的時(shí)鐘,所以在異步通信中,收發(fā)雙方取得同步的方法是采用在字符格式中設(shè)置起始位和停止位的辦法。每一個(gè)字符傳輸前,信號線上始終為高電平,一旦開始傳送就要先傳送一個(gè)低電平的起始位,這樣接收方就開始接收數(shù)據(jù),從而與發(fā)送方保持同步(格式上的同步)。通信雙方可按使用需要隨時(shí)改變通信協(xié)議,即改變數(shù)據(jù)位、奇偶校驗(yàn)位和停止位長度和數(shù)據(jù)傳輸率。

3異步串行通訊控制器的結(jié)構(gòu)設(shè)計(jì)

異步串行通訊控制器的內(nèi)部結(jié)構(gòu)可分為控制邏輯電路和寄存器組兩大部分。在控制邏輯電路中,包括波特率控制電路、讀寫控制邏輯電路、發(fā)送控制電路、接收控制電路、調(diào)制解調(diào)器控制邏輯電路、中斷控制邏輯電路和內(nèi)部總線控制邏輯電路。寄存器組分為模式寄存器、控制寄存器和狀態(tài)寄存器。結(jié)構(gòu)框圖如圖2所示。



該異步串行通訊控制器提供的模式寄存器和控制寄存器,用來設(shè)定奇偶校驗(yàn)、傳輸速率、握手機(jī)制以及中斷。在這個(gè)設(shè)計(jì)中,提供了3種奇偶校驗(yàn)選擇:不采用、奇校驗(yàn)或偶校驗(yàn)。傳輸速率的設(shè)定是通過向模式寄存器中設(shè)置特定的數(shù)值,來選擇波特率因子,再結(jié)合外部連入的時(shí)鐘信號就可以得出傳輸?shù)牟ㄌ芈柿恕K鼈冎g的關(guān)系是:時(shí)鐘頻率=波特率因子×波特率。

3.1發(fā)送數(shù)據(jù)模塊

串行異步通信的發(fā)送器的實(shí)現(xiàn)要比接收器簡單很多。沒有數(shù)據(jù)要發(fā)送時(shí),發(fā)送數(shù)據(jù)寄存器為空,發(fā)送器處于空閑狀態(tài);當(dāng)檢測到發(fā)送數(shù)據(jù)寄存器滿信號后,發(fā)送器開始發(fā)送起始位,同時(shí)8個(gè)數(shù)據(jù)位被并行裝入發(fā)送移位寄存器,停止位緊接著數(shù)據(jù)位指示數(shù)據(jù)幀結(jié)束。只有發(fā)送數(shù)據(jù)寄存器為空時(shí),待發(fā)送的數(shù)據(jù)才能被裝入,在設(shè)計(jì)中用一個(gè)TxE信號來告訴CPU此時(shí)控制器的發(fā)送寄存器為空。程序中使用計(jì)數(shù)器來保證發(fā)送數(shù)據(jù)時(shí)時(shí)鐘的正確。這里使用一個(gè)狀態(tài)機(jī)描述發(fā)送過程,圖3是發(fā)送器狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換示意圖。



3.2接收數(shù)據(jù)模塊

串行數(shù)據(jù)幀與接收時(shí)鐘是異步的,所以接收器功能實(shí)現(xiàn)中的關(guān)鍵是接收器時(shí)鐘與每個(gè)接收字符的同步。一個(gè)有效的方法是接收器采用高速率時(shí)鐘對串行數(shù)據(jù)進(jìn)行采樣,通常采樣頻率是位時(shí)鐘頻率的整數(shù)倍,也就是選擇比較高的波特率因子。理論上倍數(shù)越高接收數(shù)據(jù)各位的分辨率越高,實(shí)際中一般最大選擇16倍。

接收器應(yīng)該盡可能地在靠近每個(gè)數(shù)據(jù)位周期的中心處進(jìn)行采樣。如果接收器能很好地預(yù)測起始位的開始,那么它可在起始位的下降沿到來之后,等待半個(gè)位周期再采樣數(shù)據(jù)位。此后,接收器每等待一個(gè)位周期采樣一個(gè)數(shù)據(jù)位,直至收到最后一位為止。

接收過程主要由一個(gè)3位狀態(tài)機(jī)實(shí)現(xiàn),其狀態(tài)有空閑狀態(tài)、接收起始位、接收數(shù)據(jù)位、接收奇偶校驗(yàn)位以及接收停止位。每一個(gè)狀態(tài)表明了當(dāng)前正在接收到數(shù)據(jù)屬于哪一種字符,并且根據(jù)當(dāng)前接收字符的狀態(tài)驅(qū)動其他部件進(jìn)行合適的操作。狀態(tài)轉(zhuǎn)換機(jī)的轉(zhuǎn)換圖如圖4所示。

4基于CPLD的實(shí)現(xiàn)和仿真

可編程邏輯器件(PLD)是在20世紀(jì)80年代迅速發(fā)展起來的一種新型集成電路,隨著大規(guī)模集成電路的進(jìn)一步發(fā)展,出現(xiàn)了PAL和GAL邏輯器件,而復(fù)雜可編程邏輯器件CPLD是在此邏輯器件基礎(chǔ)上發(fā)展起來的,它是由大量邏輯宏單元構(gòu)成的。通過配置,可以將這些邏輯宏單元形成不同的硬件結(jié)構(gòu),從而構(gòu)成不同的電子系統(tǒng),完成不同的功能。正是CPLD的這種硬件重構(gòu)的靈活性,使得設(shè)計(jì)者能夠?qū)⒂糜布枋稣Z言(如VHDL或者Veritog HDL)描述的電路在CPLD中實(shí)現(xiàn)。這樣一來,同一塊CPLD能實(shí)現(xiàn)許多完全不同的電路結(jié)構(gòu)和功能。同時(shí)也大大簡化了系統(tǒng)的調(diào)試,從而能極大地縮短系統(tǒng)的研發(fā)周期。



于是我們在驗(yàn)證這一環(huán)節(jié)中,采用Xilinx公司的XC9500系列的XC95108 CPLD來驗(yàn)證該方案的合理性。在用VHDL語言實(shí)現(xiàn)圖2的功能時(shí),采用自頂向下的設(shè)計(jì)方法,先設(shè)計(jì)一個(gè)TOP頂層模塊,它里面包括了接口控制電路模塊,調(diào)制解調(diào)模塊,發(fā)送模塊和接收模塊。其中接口控制電路模塊包含了圖2中的波特率控制邏輯電路,數(shù)據(jù)總線緩沖器和讀寫控制邏輯電路。設(shè)計(jì)實(shí)現(xiàn)中比較復(fù)雜的部分就是接口控制電路的實(shí)現(xiàn)。在接口控制電路模塊中,設(shè)計(jì)了接收緩沖寄存器(RBR),發(fā)送保持寄存器(THR),中斷使能寄存器(IER),中斷標(biāo)識寄存器(IIR),模式選擇控制寄存器(LCR),調(diào)制解調(diào)控制寄存器(MCR),接收發(fā)送狀態(tài)寄存器(LSR),調(diào)制解調(diào)狀態(tài)寄存器(MSR),它們的存儲器映射地址分別設(shè)置為000~110,因?yàn)樵撛O(shè)計(jì)中把控制器設(shè)計(jì)為不能同時(shí)接收和發(fā)送,所以接收緩沖寄存器(RBR)和發(fā)送保持寄存器(THR)共用一個(gè)地址。其中,模式選擇控制寄存器(LCR)用來設(shè)置,要發(fā)送數(shù)據(jù)的位數(shù)(從低到高發(fā)送),奇偶校驗(yàn)位的位數(shù)和停止位的位數(shù)。

采用Xilinx公司的ISE工具發(fā)送和對接收這兩個(gè)關(guān)鍵模塊分別進(jìn)行仿真,發(fā)送模塊的時(shí)序波形圖如圖5所示,接收數(shù)據(jù)模塊的時(shí)序波形圖如圖6所示。



在發(fā)送模塊的仿真測試程序中,讓CPU的數(shù)據(jù)總線連續(xù)發(fā)送55H,AAH,5AH,A5H,并在控制器的模式控制寄存器中設(shè)置發(fā)送的數(shù)據(jù)位5位,1個(gè)奇偶校驗(yàn)位(偶校驗(yàn)),1個(gè)停止位。在TxRDYn信號變低的時(shí)候,開始發(fā)送一幀新的數(shù)據(jù)。根據(jù)圖5中數(shù)據(jù)輸出信號Sout上信號變化的情況可以驗(yàn)證該模塊設(shè)計(jì)是正確的。

在接收模塊仿真波形圖中,Sin信號是負(fù)責(zé)接收串行數(shù)據(jù)的信號線,RBR是該控制器內(nèi)部的緩沖寄存器,負(fù)責(zé)存儲經(jīng)過串并轉(zhuǎn)換后的數(shù)據(jù),RxRDYn是控制器的外部信號,用來告訴CPU,控制器已經(jīng)轉(zhuǎn)換完一幀數(shù)據(jù),CPU可以把數(shù)據(jù)從緩沖寄存器中取出。中斷信號INTR會在數(shù)據(jù)傳輸完后,產(chǎn)生一個(gè)正脈沖。在測試接收數(shù)據(jù)模塊的文件中,使產(chǎn)生一個(gè)連續(xù)的AAH和56H的串行數(shù)據(jù),在圖6中可以看到在Sin信號每接收完一個(gè)數(shù)據(jù)幀后,數(shù)據(jù)便存入RBR寄存器,RBR寄存器的數(shù)據(jù)位AAH和56H,并且在AAH傳完后,RxRDYn立即變?yōu)榈碗娖健?br />
5  結(jié)語

本文在對異步串行通信協(xié)議進(jìn)行分析的基礎(chǔ)上,根據(jù)實(shí)際工程的需要,對異步串行通信控制器進(jìn)行了詳細(xì)設(shè)計(jì),并結(jié)合CPLD器件,采用VHDL語言,對設(shè)計(jì)方案進(jìn)行了實(shí)現(xiàn)和驗(yàn)證,通過最后時(shí)序仿真的波形圖得出了設(shè)計(jì)方案的正確,而且加載了該設(shè)計(jì)程序的CPLD在實(shí)際工程中能夠很好地與處理器進(jìn)行連接來收發(fā)數(shù)據(jù),從而為那些沒有串行異步接口的處理器提供一個(gè)比較理想的設(shè)計(jì)方案。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

為增進(jìn)大家對控制器的認(rèn)識,本文將對影響控制器可靠性的因素以及控制器的常見故障和維修方法予以介紹。

關(guān)鍵字: 控制器 指數(shù) 集成電路

為增進(jìn)大家對控制器的認(rèn)識,本文將對溫度控制器的分類以及溫度控制器的功能予以介紹。

關(guān)鍵字: 溫度控制器 指數(shù) 控制器

為增進(jìn)大家對控制器的認(rèn)識,本文將對控制器結(jié)構(gòu)類異常以及常見的幾種電機(jī)控制器予以介紹。

關(guān)鍵字: 控制器 指數(shù) 電機(jī)

一直以來,MCU微控制器都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)鞰CU微控制器的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: MCU 微控制器 控制器

pwm控制器將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對pwm控制器的相關(guān)情況以及信息有所認(rèn)識和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: pwm 控制器 mppt

在這篇文章中,小編將對運(yùn)動控制器的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對運(yùn)動控制器的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: 運(yùn)動控制系統(tǒng) 運(yùn)動控制器 控制器

旗芯微近日發(fā)布了最新一代Hyper控制器家族產(chǎn)品,全系列對標(biāo)英飛凌 TC家族控制器,覆蓋智能底盤、功能安全控制器、域控制器等應(yīng)用領(lǐng)域。超融合HPU(Hyper Processing Unit)FC7300系列芯片的性能媲...

關(guān)鍵字: 嵌入式 控制器

為增進(jìn)大家對控制器的認(rèn)識,本文將對PID控制器以及電動車控制器維修方法予以介紹。

關(guān)鍵字: PID 控制器 指數(shù)

為增進(jìn)大家對控制器的認(rèn)識,本文將對控制器的組合邏輯、控制器微程序予以介紹。

關(guān)鍵字: 控制器 指數(shù) 微程序

本文將基于3個(gè)方面介紹控制器:1.什么是控制器,2.控制器的工作原理是什么,3.控制器的基本功能有哪些。

關(guān)鍵字: 控制器 指數(shù) 緩沖器

電子設(shè)計(jì)自動化

21319 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉