欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種單總線異步串口通信系統(tǒng)及其通信方法與流程

文檔序號:12120800閱讀:548來源:國知局

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種單總線異步串口通信系統(tǒng)及其通信方法。



背景技術(shù):

通用異步串口通信具有協(xié)議簡單、功耗低、傳輸距離遠(yuǎn)的特點,廣泛應(yīng)用于各種低速率數(shù)字通信接口。標(biāo)準(zhǔn)的異步串口收發(fā)機(jī)系統(tǒng)中,主設(shè)備和從設(shè)備之間需要連接四根線,分別是串口數(shù)據(jù)傳輸線(TX)、串口數(shù)據(jù)接收線(RX)、發(fā)送數(shù)據(jù)請求線(RTS)、清除發(fā)送線(CTS)?,F(xiàn)有通用異步串口通信系統(tǒng)存在接口線過于復(fù)雜的問題,并且不同設(shè)備之間進(jìn)行串口通信時需要調(diào)整波特率以進(jìn)行正常通信。雖然目前有很多實現(xiàn)波特率自動檢測的技術(shù),但是都是基于軟件配置或者是采用查表方式進(jìn)行波特率匹配,實現(xiàn)效率不夠高。



技術(shù)實現(xiàn)要素:

為此,本發(fā)明要解決的技術(shù)問題是標(biāo)準(zhǔn)的異步串口收發(fā)機(jī)系統(tǒng)中需要四根連接線,并且波特率自動檢測效率較低,占用資源較多。

為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:

一種單總線異步串口通信系統(tǒng),包括:主設(shè)備和從設(shè)備,所述主設(shè)備和所述從設(shè)備之間通過一根數(shù)據(jù)總線實現(xiàn)連接,所述從設(shè)備內(nèi)置有串口通信接口電路,其實現(xiàn)對所述主設(shè)備的波特率自動檢測和調(diào)整,接受所述主設(shè)備的控制命令和數(shù)據(jù),并返回相應(yīng)的響應(yīng)數(shù)據(jù)。

優(yōu)選的,所述串口通信接口電路包括:上升沿檢測模塊、下降沿檢測模塊、脈寬計數(shù)器、接收計數(shù)器、移位寄存器、錯位比較器、接收數(shù)據(jù)緩存器、word計數(shù)器,其中所述上升沿檢測模塊、所述下降沿檢測模塊、所述移位寄存器均與所述數(shù)據(jù)總線連接,用于接收數(shù)據(jù)總線發(fā)送的數(shù)據(jù);所述上升沿檢測模塊和所述下降沿檢測模塊與所述脈寬計數(shù)器和所述接收計數(shù)器連接;所述接收計數(shù)器與所述錯位比較器和所述word計數(shù)器連接,所述錯位比較器和所述word計數(shù)器連接與所述移位寄存器,所述移位寄存器發(fā)送數(shù)據(jù)至所述接收數(shù)據(jù)緩存器中。

優(yōu)選的,所述串口通信接口電路還包括:輸出狀態(tài)控制機(jī)、發(fā)送計數(shù)器、發(fā)送數(shù)據(jù)緩存器、總線接口控制器,其中所述發(fā)送計數(shù)器發(fā)送脈沖至所述輸出狀態(tài)控制機(jī),所述輸出狀態(tài)控制機(jī)存儲數(shù)據(jù)至所述發(fā)送數(shù)據(jù)緩存器中,所述總線接口控制器將所述發(fā)送數(shù)據(jù)緩存器中的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)總線。

優(yōu)選的,所述串口通信接口電路還包括一個基準(zhǔn)時鐘,所述脈寬計數(shù)器、所述接收計數(shù)器和所述發(fā)送計數(shù)器的時鐘均來自于所述基準(zhǔn)時鐘。

一種單總線異步串口通信方法,包括如下步驟:

波特率自動檢測步驟:上電之后主設(shè)備發(fā)送OX01數(shù)據(jù)給從設(shè)備,從設(shè)備通過檢測數(shù)據(jù)總線上的第一個下降沿和第一個上升沿之間的寬度來計算當(dāng)前通信波特率;

數(shù)據(jù)接收步驟:主設(shè)備發(fā)送數(shù)據(jù)給從設(shè)備,從設(shè)備啟動接收計數(shù)器開始計數(shù),而后接收計數(shù)器將當(dāng)前值與脈寬計數(shù)器右移一位之后的值進(jìn)行比較并輸出bit采樣時鐘;數(shù)據(jù)總線上的數(shù)據(jù)在bit采樣時鐘的作用下被依次送入移位寄存器中,當(dāng)采樣信號完成后,起始位已經(jīng)被移出位移寄存器;有用的數(shù)據(jù)會被存放在移位寄存器中的低八位中,該數(shù)據(jù)在word計數(shù)器產(chǎn)生的word采樣時鐘作用下裝載到接收數(shù)據(jù)緩存器中;

數(shù)據(jù)發(fā)送步驟:從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時,輸出數(shù)據(jù)通過總線控制接口的一個三態(tài)門輸出到數(shù)據(jù)總線上。

優(yōu)選的,還包括波特率重設(shè)步驟:

主設(shè)備向從設(shè)備發(fā)送OXFF命令,從設(shè)備收到OXFF數(shù)據(jù)之后,啟動內(nèi)部復(fù)位電路,將脈寬計數(shù)器復(fù)位,在收到下一次波特率檢測命令后脈寬計數(shù)器開始新的計數(shù),重復(fù)波特率自動檢測步驟。

優(yōu)選的,所述數(shù)據(jù)接收步驟具體包括:

當(dāng)數(shù)據(jù)總線有下降沿出現(xiàn)時,接收計數(shù)器開始計數(shù),當(dāng)接收計數(shù)器等于脈寬計數(shù)器的數(shù)值時,接收計數(shù)器在下一個基準(zhǔn)時鐘信號時刻被置1,然后開始下一輪計數(shù),完成10輪計數(shù)后被強制復(fù)位;接收計數(shù)器在計數(shù)的循環(huán)過程中,將當(dāng)前值與脈寬計數(shù)器右移一位之后的值進(jìn)行比較,如果相同則輸出一個bit采樣時鐘,在一次通信過程中會產(chǎn)生10個bit采樣脈沖;

數(shù)據(jù)總線上的數(shù)據(jù)在bit采樣時鐘的作用下被依次送入一個9位的移位寄存器中,當(dāng)十次采樣信號完成后,起始位已經(jīng)被移出位移寄存器;有用的數(shù)據(jù)會被存放在移位寄存器中的低八位中,該數(shù)據(jù)在word計數(shù)器產(chǎn)生的采樣脈沖的作用下一次性裝載到接收數(shù)據(jù)緩存器中。

優(yōu)選的,所述數(shù)據(jù)發(fā)送步驟具體包括:

當(dāng)發(fā)送數(shù)據(jù)使能有效時,發(fā)送計數(shù)器開始計數(shù),當(dāng)計數(shù)值等于存儲于脈寬計數(shù)器中的數(shù)值時,輸出一個bit發(fā)送脈沖;隨后發(fā)送計數(shù)器在下一個基準(zhǔn)時鐘時被置1,開始下一輪計數(shù)和比較,依次循環(huán),直至產(chǎn)生10個bit位傳輸脈沖;

發(fā)送數(shù)據(jù)的順序控制由輸出狀態(tài)控制機(jī)執(zhí)行,輸出狀態(tài)控制機(jī)在第一個傳輸脈沖來時,將輸出數(shù)據(jù)總線拉置低電平,隨后的8個傳輸脈沖來時,依次將存儲在發(fā)送數(shù)據(jù)緩存器中的待發(fā)送數(shù)據(jù)送到數(shù)據(jù)總線上,發(fā)送順序還是從低位開始發(fā)送,在第10個傳輸脈沖來時,將數(shù)據(jù)總線電平拉高。

本發(fā)明的有益效果:采用單總線傳輸數(shù)據(jù),采用位寬計數(shù)比較技術(shù)實現(xiàn)波特率自動檢測。從設(shè)備只需要一根數(shù)據(jù)線就可以和主設(shè)備進(jìn)行數(shù)據(jù)傳輸,極大的降低了通信接口的復(fù)雜度。波特率自動檢測采用專用位寬計數(shù)比較技術(shù)可以快速準(zhǔn)確的自動檢測通信波特率,采用的集成電路晶體管數(shù)目少(300門左右),節(jié)約芯片成本。

附圖說明

為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面結(jié)合附圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明,其中:

圖1是本發(fā)明單總線異步串口通信系統(tǒng)的原理圖。

具體實施方式

實施例1

參見圖1,為符合本實施例所述的一種單總線異步串口通信系統(tǒng),包括:主設(shè)備和從設(shè)備,所述主設(shè)備和所述從設(shè)備之間通過一根數(shù)據(jù)總線實現(xiàn)連接,所述從設(shè)備內(nèi)置有串口通信接口電路,其實現(xiàn)對所述主設(shè)備的波特率自動檢測和調(diào)整,接受所述主設(shè)備的控制命令和數(shù)據(jù),并返回相應(yīng)的響應(yīng)數(shù)據(jù)。

優(yōu)選的,所述串口通信接口電路包括:上升沿檢測模塊、下降沿檢測模塊、脈寬計數(shù)器、接收計數(shù)器、移位寄存器、錯位比較器、接收數(shù)據(jù)緩存器、word計數(shù)器,其中所述上升沿檢測模塊、所述下降沿檢測模塊、所述移位寄存器均與所述數(shù)據(jù)總線連接,用于接收數(shù)據(jù)總線發(fā)送的數(shù)據(jù);所述上升沿檢測模塊和所述下降沿檢測模塊與所述脈寬計數(shù)器和所述接收計數(shù)器連接;所述接收計數(shù)器與所述錯位比較器和所述word計數(shù)器連接,所述錯位比較器和所述word計數(shù)器連接與所述移位寄存器,所述移位寄存器發(fā)送數(shù)據(jù)至所述接收數(shù)據(jù)緩存器中。

優(yōu)選的,所述串口通信接口電路還包括:輸出狀態(tài)控制機(jī)、發(fā)送計數(shù)器、發(fā)送數(shù)據(jù)緩存器、總線接口控制器,其中所述發(fā)送計數(shù)器發(fā)送脈沖至所述輸出狀態(tài)控制機(jī),所述輸出狀態(tài)控制機(jī)存儲數(shù)據(jù)至所述發(fā)送數(shù)據(jù)緩存器中,所述總線接口控制器將所述發(fā)送數(shù)據(jù)緩存器中的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)總線。

優(yōu)選的,所述串口通信接口電路還包括一個基準(zhǔn)時鐘,所述脈寬計數(shù)器、所述接收計數(shù)器和所述發(fā)送計數(shù)器的時鐘均來自于所述基準(zhǔn)時鐘。

本實施例采用單總線傳輸數(shù)據(jù),采用位寬計數(shù)比較技術(shù)實現(xiàn)波特率自動檢測。標(biāo)準(zhǔn)的異步串口收發(fā)機(jī)系統(tǒng)中,主設(shè)備和從設(shè)備之間需要連接四根線,分別是串口數(shù)據(jù)傳輸線(TX)、串口數(shù)據(jù)接收線(RX)、發(fā)送數(shù)據(jù)請求線(RTS)、清除發(fā)送線(CTS)。本發(fā)明中的從設(shè)備只需要一根數(shù)據(jù)線就可以和主設(shè)備進(jìn)行數(shù)據(jù)傳輸,極大的降低了通信接口的復(fù)雜度。

實施例2

一種基于實施例1所述的單總線異步串口通信系統(tǒng)的通信方法,包括如下步驟:

波特率自動檢測步驟:上電之后主設(shè)備發(fā)送OX01數(shù)據(jù)給從設(shè)備,從設(shè)備通過檢測數(shù)據(jù)總線上的第一個下降沿和第一個上升沿之間的寬度來計算當(dāng)前通信波特率;具體在于:采用一個脈寬計數(shù)器從下降沿開始計數(shù),到上升沿來的時候停止。計數(shù)器的時鐘來自電路內(nèi)部的基準(zhǔn)時鐘信號,該時鐘信號頻率遠(yuǎn)大于波特率。脈寬計數(shù)器記錄的數(shù)據(jù)即代表當(dāng)前的波特率,脈寬計數(shù)器在第一次計數(shù)之后就會被鎖定,不會再被由數(shù)據(jù)線上的下降沿觸發(fā)計數(shù),除非系統(tǒng)復(fù)位或者主機(jī)發(fā)送波特率重新檢測的命令。

數(shù)據(jù)接收步驟:主設(shè)備發(fā)送數(shù)據(jù)給從設(shè)備,從設(shè)備啟動接收計數(shù)器開始計數(shù),而后接收計數(shù)器將當(dāng)前值與脈寬計數(shù)器右移一位之后的值進(jìn)行比較并輸出bit采樣時鐘;數(shù)據(jù)總線上的數(shù)據(jù)在bit采樣時鐘的作用下被依次送入移位寄存器中,當(dāng)采樣信號完成后,起始位已經(jīng)被移出位移寄存器;有用的數(shù)據(jù)會被存放在移位寄存器中的低八位中,該數(shù)據(jù)在word計數(shù)器產(chǎn)生的作用下裝載到接收數(shù)據(jù)緩存器中;

數(shù)據(jù)發(fā)送步驟:從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時,輸出數(shù)據(jù)通過總線控制接口的一個三態(tài)門輸出到數(shù)據(jù)總線上。

優(yōu)選的,還包括波特率重設(shè)步驟:

主設(shè)備向從設(shè)備發(fā)送OXFF命令,從設(shè)備收到OXFF數(shù)據(jù)之后,啟動內(nèi)部復(fù)位電路,將脈寬計數(shù)器復(fù)位,脈寬計數(shù)器開始新的計數(shù),重復(fù)波特率自動檢測步驟。

優(yōu)選的,所述數(shù)據(jù)接收步驟具體包括:

當(dāng)數(shù)據(jù)總線有下降沿出現(xiàn)時,接收計數(shù)器開始計數(shù),當(dāng)接收計數(shù)器等于脈寬計數(shù)器的數(shù)值時,接收計數(shù)器在下一個基準(zhǔn)時鐘信號時刻被置1,然后開始下一輪計數(shù),完成10輪計數(shù)后被強制復(fù)位;接收計數(shù)器在計數(shù)的循環(huán)過程中,將當(dāng)前值與脈寬計數(shù)器右移一位之后的值進(jìn)行比較,如果相同則輸出一個bit采樣時鐘,在一次通信過程中會產(chǎn)生10個bit采樣脈沖;

數(shù)據(jù)總線上的數(shù)據(jù)在bit采樣時鐘的作用下被依次送入一個9位的移位寄存器中,當(dāng)十次采樣信號完成后,起始位已經(jīng)被移出位移寄存器;有用的數(shù)據(jù)會被存放在移位寄存器中的低八位中,該數(shù)據(jù)在word計數(shù)器產(chǎn)生的采樣脈沖的作用下一次性裝載到接收數(shù)據(jù)緩存器中。這個采樣時鐘脈沖是由一個計數(shù)周期為10的計數(shù)器產(chǎn)生的,它對bit采樣時鐘信號進(jìn)行計數(shù),每當(dāng)計數(shù)到10時,輸出一個word時鐘采樣信號,用于8bit數(shù)據(jù)的加載。隨后自動清零,等待下一次計數(shù)。

優(yōu)選的,所述數(shù)據(jù)發(fā)送步驟具體包括:

該控制邏輯核心是一個發(fā)送計數(shù)器和一個輸出控制狀態(tài)機(jī)。當(dāng)發(fā)送數(shù)據(jù)使能有效時,發(fā)送計數(shù)器開始計數(shù),當(dāng)計數(shù)值等于存儲于脈寬計數(shù)器中的數(shù)值時,輸出一個bit發(fā)送脈沖;隨后發(fā)送計數(shù)器在下一個基準(zhǔn)時鐘時被置1,開始下一輪計數(shù)和比較,依次循環(huán),直至產(chǎn)生10個bit位傳輸脈沖;

發(fā)送數(shù)據(jù)的順序控制由輸出狀態(tài)控制機(jī)執(zhí)行,輸出狀態(tài)控制機(jī)在第一個傳輸脈沖來時,將輸出數(shù)據(jù)總線拉置低電平,隨后的8個傳輸脈沖來時,依次將存儲在發(fā)送數(shù)據(jù)緩存器中的待發(fā)送數(shù)據(jù)送到數(shù)據(jù)總線上,發(fā)送順序還是從低位開始發(fā)送,在第10個傳輸脈沖來時,將數(shù)據(jù)總線電平拉高。

在本發(fā)明中,數(shù)據(jù)傳輸還是基于標(biāo)準(zhǔn)的異步串口通信數(shù)據(jù)格式,即每次數(shù)據(jù)傳輸包括一個低電平的起始位,8bit數(shù)據(jù)和一個高電平的停止位,數(shù)據(jù)從低位開始發(fā)送。不同于標(biāo)準(zhǔn)異步串口通信之處在于主設(shè)備和從設(shè)備之間只有一根數(shù)據(jù)線,不需要專門的數(shù)據(jù)發(fā)送線和數(shù)據(jù)接收線,以及額外的數(shù)據(jù)請求線和清除發(fā)送線,極大簡化了接口形式,主設(shè)備和從設(shè)備采用單總線實現(xiàn)半雙工通信。

本發(fā)明的波特率自動檢測步驟采用一種基于脈寬計數(shù)的技術(shù),具體包括以下步驟:

如果是上電之后首次通信,主設(shè)備可以向從設(shè)備發(fā)送十六進(jìn)制數(shù)據(jù)0X01。從設(shè)備的下降沿檢測模塊102檢測到數(shù)據(jù)總線上的下降沿時,開始啟動脈寬計數(shù)器104開始計數(shù),當(dāng)上升沿檢測模塊103檢測到數(shù)據(jù)總線上的上升沿時,脈寬計數(shù)器104停止計數(shù)。脈寬計數(shù)器的計數(shù)時鐘來自于電路內(nèi)部的基準(zhǔn)時鐘101,時鐘頻率一般設(shè)置為最高通信速率的10倍。當(dāng)前主機(jī)發(fā)起的串口通信數(shù)據(jù)流中起始位的脈寬即第一個下降沿和第一個上升沿之間的寬度。如果計數(shù)時鐘的周期為TO,計數(shù)器記錄數(shù)為N,那么當(dāng)前主機(jī)發(fā)起的串口通信單bit位寬為N*TO。

脈寬計數(shù)器104在上電后第一次邊沿檢測計數(shù)之后,會被邏輯控制電路鎖定,不會再被數(shù)據(jù)總線下降沿觸發(fā)計數(shù)。只有系統(tǒng)復(fù)位信號來臨或者上位機(jī)發(fā)送波特率重置命令才會使脈寬計數(shù)器復(fù)位并在下一次總線下降沿來臨時重新計數(shù)。

本發(fā)明中從設(shè)備在自動計算主設(shè)備的波特率之后就可以和主機(jī)進(jìn)行半雙工通信。從設(shè)備接收數(shù)據(jù)的步驟如下:

主設(shè)備發(fā)送一個帶起始位、8bit數(shù)據(jù)位和停止位的10比特串行數(shù)據(jù)給從設(shè)備。從設(shè)備首先檢測到起始位的下降沿信號,確認(rèn)數(shù)據(jù)的開始時刻。然后啟動接收計數(shù)器105開始計數(shù),當(dāng)該計數(shù)器的數(shù)值與脈寬計數(shù)器104存儲的數(shù)值相同時,當(dāng)前時刻可以認(rèn)為是起始位bit傳輸完成。然后接收計數(shù)器105被置位為1,開始下一輪計數(shù),一直會計數(shù)10輪,最后被復(fù)位清零。

接收計數(shù)器105是由一個16位計數(shù)器實現(xiàn)的,計數(shù)器的時鐘來自于內(nèi)部振蕩電路,時鐘頻率記為f0。接收計數(shù)器105的計數(shù)值通過異或門逐位與脈寬計數(shù)器的計數(shù)值進(jìn)行比較,當(dāng)所有位都相同時,總的比較結(jié)果邏輯為1,從而在下一個基準(zhǔn)時鐘信號來臨時通過通路選擇信號將接收計數(shù)器105的計數(shù)置成1,隨后開始下一輪計數(shù)。

接收計數(shù)器105的主要作用是在內(nèi)部對串行數(shù)據(jù)進(jìn)行同步,便于后續(xù)的數(shù)據(jù)采集。

為了保證內(nèi)部電路對串行輸入數(shù)據(jù)采樣的正確性,必須保證bit采樣時鐘和被采串行數(shù)據(jù)之間有足夠的采樣時間和保持時間。因此在本發(fā)明中,bit采樣時刻放在bit位傳輸時間段的中部。它采用了錯位比較的方法來實現(xiàn)。

該方法將脈寬計數(shù)器104的數(shù)值右移一位,然后把它和接收計數(shù)器105的計數(shù)數(shù)值進(jìn)行比較。每當(dāng)它們的值完全一樣時,會輸出一個脈沖信號,這個信號就是bit位采樣脈沖。

依據(jù)二進(jìn)制的特點可知,二進(jìn)制數(shù)右移一位,它的值變成原來的值的一半,誤差為±1,所以在接收計數(shù)器105的數(shù)值與右移一位的脈寬計數(shù)器數(shù)值相同時,說明此時刻是當(dāng)前傳輸?shù)腷it位中間時段,這時候輸出一個采樣脈沖就可以正確的采集當(dāng)前傳輸?shù)腷it位。

由于接收計數(shù)器105的周期性,錯位比較得到bit采樣信號也是周期性的,它的周期和接收計數(shù)器105的周期是一樣的,都等于當(dāng)前傳輸數(shù)據(jù)的bit位寬(N*TO),因此后續(xù)每一個采樣脈沖都對應(yīng)當(dāng)前傳輸數(shù)據(jù)的中間時段。

每次數(shù)據(jù)傳輸過程中都會產(chǎn)生10個采樣脈沖信號,該采樣脈沖信號的寬度等于基準(zhǔn)時鐘101的周期T。

在每次通信過程中,bit位采樣時鐘信號將當(dāng)前數(shù)據(jù)線上的數(shù)據(jù)依次送入一個9位的移位寄存器108。當(dāng)10次采樣信號完成之后,起始位數(shù)據(jù)已經(jīng)被移出移位寄存器108。移位寄存器108的低8位存儲的值就是本次通信過程中輸出的8bit有用數(shù)據(jù),第9位存儲的是停止位數(shù)據(jù)。

為了不阻塞下一次數(shù)據(jù)通信,在全部數(shù)據(jù)進(jìn)入移位寄存器108后,由word采樣時鐘信號將移位寄存器108中的低8位數(shù)據(jù)一次性加載到8位接收數(shù)據(jù)緩存器109中,供后續(xù)電路進(jìn)行數(shù)據(jù)處理和分析。

Word時鐘采樣信號是由一個計數(shù)周期為10的word計數(shù)器107產(chǎn)生的,它對bit采樣時鐘信號進(jìn)行計數(shù),每當(dāng)計數(shù)到10時,輸出一個word時鐘采樣信號,用于8bit數(shù)據(jù)的加載,隨后自動清零,等待下一次計數(shù)。

從設(shè)備發(fā)送數(shù)據(jù)的步驟如下:

在實際應(yīng)用中,主設(shè)備應(yīng)該和從設(shè)備應(yīng)該約定好通信協(xié)議,即從設(shè)備在收到什么通信指令后會向主設(shè)備發(fā)送數(shù)據(jù),所以本發(fā)明中從設(shè)備發(fā)送數(shù)據(jù)時,主設(shè)備應(yīng)該釋放了數(shù)據(jù)總線,等待接受來自從設(shè)備的傳輸數(shù)據(jù)。主設(shè)備接收數(shù)據(jù)的波特率應(yīng)該和上一次通信的波特率一致。

從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時,輸出數(shù)據(jù)通過總線控制接口113的一個三態(tài)門輸出到數(shù)據(jù)總線上。這個三態(tài)門由輸出使能控制,從設(shè)備在接收數(shù)據(jù)時,三態(tài)門輸出高阻,來自主設(shè)備的數(shù)據(jù)可以通過數(shù)據(jù)總線送到內(nèi)部接收數(shù)據(jù)的移位寄存器108中。當(dāng)輸出使能有效時,待輸出數(shù)據(jù)通過三態(tài)門送到數(shù)據(jù)總線上。

此外為避免本發(fā)明的數(shù)據(jù)發(fā)送和接收通道存在沖突,發(fā)送數(shù)據(jù)通道采用單獨的控制邏輯。該控制邏輯核心是一個發(fā)送計數(shù)器110和輸出控制狀態(tài)機(jī)111。

當(dāng)內(nèi)部電路的發(fā)送數(shù)據(jù)使能有效時,發(fā)送計數(shù)器110開始計數(shù),當(dāng)計數(shù)值等于存儲于脈寬計數(shù)器104中的數(shù)值時,輸出一個bit發(fā)送時鐘。隨后發(fā)送計數(shù)器在下一個基準(zhǔn)時鐘被置1,開始下一輪計數(shù)和比較,依次循環(huán),直至產(chǎn)生10個bit位發(fā)送脈沖。

發(fā)送計數(shù)器110的時鐘來自于基準(zhǔn)時鐘101,時鐘頻率為f0。

發(fā)送數(shù)據(jù)的順序控制由輸出控制狀態(tài)機(jī)111執(zhí)行。狀態(tài)機(jī)在第一個傳輸脈沖來時,將輸出數(shù)據(jù)總線拉至低電平,隨后的8個傳輸脈沖來時,依次將存儲在電路發(fā)送緩存器112中的待發(fā)送數(shù)據(jù)通過總線接口控制113送到傳輸數(shù)據(jù)總線上,發(fā)送順序還是從低位開始發(fā)送。在第10個傳輸脈沖來時,將傳輸總線電平拉高。

在本發(fā)明中,當(dāng)主設(shè)備需要改變通信傳輸波特率時,需要先向從設(shè)備發(fā)送OXFF命令,才能再次發(fā)送OX01命令對從設(shè)備進(jìn)行波特率重新設(shè)置。

從設(shè)備收到OXFF數(shù)據(jù)之后,會啟動內(nèi)部復(fù)位電路,將脈寬計數(shù)器104復(fù)位,否則脈寬計數(shù)器104無法開始新的計數(shù),存儲的還是上一次通信波特率。

本發(fā)明是一種改進(jìn)型的異步串口通信電路,該電路采用單總線傳輸數(shù)據(jù),采用位寬計數(shù)比較技術(shù)實現(xiàn)波特率自動檢測。標(biāo)準(zhǔn)的異步串口收發(fā)機(jī)系統(tǒng)中,主設(shè)備和從設(shè)備之間需要連接四根線,分別是串口數(shù)據(jù)傳輸線(TX)、串口數(shù)據(jù)接收線(RX)、發(fā)送數(shù)據(jù)請求線(RTS)、清除發(fā)送線(CTS)。本發(fā)明中的從設(shè)備只需要一根數(shù)據(jù)線就可以和主設(shè)備進(jìn)行數(shù)據(jù)傳輸,極大的降低了通信接口的復(fù)雜度。另外標(biāo)準(zhǔn)的異步串口收發(fā)機(jī)系統(tǒng)的主從設(shè)備之間需要手動設(shè)定通信波特率,使用靈活性差?,F(xiàn)有技術(shù)發(fā)明中實現(xiàn)了異步串口通信的波特率自動檢測,但是它們都是采用軟件或硬件電路查表的方式實現(xiàn),檢測效率較低,占用資源較多。本發(fā)明中波特率自動檢測采用專用位寬計數(shù)比較技術(shù)可以快速準(zhǔn)確的自動檢測通信波特率,采用的集成電路晶體管數(shù)目少(300門左右),節(jié)約芯片成本。

上述具體實施方式只是對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)解釋,本發(fā)明并不只僅僅局限于上述實施例,本領(lǐng)域技術(shù)人員應(yīng)該明白,凡是依據(jù)上述原理及精神在本發(fā)明基礎(chǔ)上的改進(jìn)、替代,都應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东兴市| 化德县| 祁门县| 怀宁县| 将乐县| 文化| 乌兰浩特市| 静乐县| 罗城| 万山特区| 古丈县| 张家川| 墨玉县| 洪泽县| 泰来县| 乐平市| 铁岭市| 武穴市| 涟源市| 曲松县| 竹山县| 嘉义市| 汶川县| 华坪县| 苍山县| 任丘市| 霞浦县| 绥化市| 历史| 温泉县| 滦平县| 沙田区| 临猗县| 神木县| 惠水县| 潜山县| 全南县| 朝阳市| 陈巴尔虎旗| 南岸区| 府谷县|