專利名稱:一種串行接口總線通信控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種總線通信控制裝置,特別是一種單片機與單片機或單片機與個人計算機之間串行總線方式通信用的控制裝置。
背景技術(shù):
目前,現(xiàn)有的單片機與單片機,或單片機與PC個人計算機的多址通信一般是利用并行接口進行串行總線通信。在通信中所用的總線通信控制器(又稱總線通信控制芯片),基本都是按同步通信工作方式設(shè)計,多用于工業(yè)。這種并行接口總線通信控制器具有數(shù)據(jù)傳輸速度快,抗干擾能力強,容錯功能強,可靠性高,可在較惡劣環(huán)境下工作的特點。但這種總線通信控制器的制作成本較高。在目前的家庭控制系統(tǒng)中,控制對象是各種裝有單片機的用電器(如電視、冰箱、微波爐等)或由單片機集中監(jiān)控的用電器(如由一個單片機控制下的電燈、電爐、插座等),系統(tǒng)環(huán)境相對較好,對數(shù)據(jù)傳輸?shù)囊筝^低。在家庭控制系統(tǒng)或類似應(yīng)用環(huán)境的控制系統(tǒng)中使用這種并行接口總線通信控制器,明顯在功能上有冗余、而且成本較高。另外現(xiàn)有的家庭控制系統(tǒng)中,各控制對象上的單片機的并口基本上都因內(nèi)部控制要求被占用,因此采用這種并行接口總線通信控制器,許多情況下還要對現(xiàn)有的控制對象進行改造,這種改造既增大了家庭控制系統(tǒng)的成本,又給控制對象生產(chǎn)廠家?guī)砺闊?。再就是采用并行接口總線通信控制器連線較多,又復(fù)雜。
技術(shù)方案本發(fā)明的目的在于,提供一種串行接口總線通信控制器。它是使用串行接口進行總線通信。它既可大幅降低總線通信控制器的制作成本和家庭控制系統(tǒng)的總成本;又可滿足家庭控制系統(tǒng)的通信要求,適應(yīng)現(xiàn)有的控制對象,并且使現(xiàn)有控制對象的資源得到更充分利用。
本發(fā)明是這樣實現(xiàn)的,一種串行接口總線通信控制器,它的構(gòu)成包括接口部分,總線部分和通信邏輯控制部分;其特征在于接口部分的構(gòu)成包括接口端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元1;總線部分的構(gòu)成包括總線端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元2;通信邏輯控制部分包括通信控制單元、錯誤計數(shù)和錯誤處理電路,載波偵聽多址訪問沖突監(jiān)測電路。
上述的串行接口總線通信控制器中;所述的接口端串行異步收發(fā)單元的構(gòu)成包括接口端串行異步收發(fā)器,與收發(fā)器相接的串—并轉(zhuǎn)換電路和并—串轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元1的構(gòu)成包括接口接收數(shù)據(jù)緩沖區(qū)和接口發(fā)送數(shù)據(jù)緩沖區(qū);所述的總線端串行異步收發(fā)單元的構(gòu)成包括總線端串行異步收發(fā)器,與其相接的并—串轉(zhuǎn)換電路和串—并轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元2的構(gòu)成包括總線發(fā)送數(shù)據(jù)緩沖區(qū)和總線接收數(shù)據(jù)緩沖區(qū);所述的通信控制單元包括,發(fā)送控制寄存器堆,累加和校驗電路,循環(huán)冗余碼生成電路,接收控制寄存器堆,累加和生成電路,地址檢查電路,循環(huán)冗余碼校驗電路,超時檢查電路。
前述的串行接口總線通信控制器中,所述的接口接收數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)1、接口緩沖區(qū)控制電路1;接口發(fā)送數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)2、接口緩沖區(qū)控制電路2;總線發(fā)送數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)3、總線緩沖區(qū)控制電路1;總線接收數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)4、總線緩沖區(qū)控制電路2;接收控制寄存器堆包括幀特征字寄存器堆2、接口發(fā)送控制寄存器堆、總線接收控制寄存器堆、應(yīng)答電路2和應(yīng)答電路4;發(fā)送控制寄存器堆包括幀特征字寄存器堆1、接口接收控制寄存器堆、總線發(fā)送控制寄存器堆、應(yīng)答電路1和應(yīng)答電路3;接口端串行異步收發(fā)器包括接口異步收發(fā)器(UART)、幀格式打包電路1、幀格式解包電路1;總線端串行異步收發(fā)器包括總線異步收發(fā)器(UART)、幀格式打包電路2、幀格式解包電路2。
與現(xiàn)有技術(shù)比較,本發(fā)明根據(jù)家庭控制系統(tǒng)的通信特點,提供了一種采用串行接口進行總線通信的總線通信控制器。本發(fā)明在滿足家庭控制系統(tǒng)通信要求的前提下,充分利用了現(xiàn)有控制對象的閑置資源,不用改造現(xiàn)有控制對象,而且接線簡單。不但降低了總線通信控制器的制作成本,而且大幅度降低了家庭控制系統(tǒng)的總成本。本發(fā)明具有結(jié)構(gòu)簡單,制作成本低,應(yīng)用成本低,綜合應(yīng)用效果好的特點??蓮V泛應(yīng)用于家庭控制系統(tǒng)和類似應(yīng)用環(huán)境的控制系統(tǒng)局域網(wǎng)以及裝置中。
下面結(jié)合附圖對本發(fā)明的具體實施方式
作進一步描述。
附
圖1是串行接口總線通信控制器的電路結(jié)構(gòu)框圖1;附圖2是串行接口總線通信控制器的電路結(jié)構(gòu)框圖2;附圖3是串行接口總線通信控制器的電路結(jié)構(gòu)框圖3。
實施例串行接口總線通信控制器的構(gòu)成包括接口部分,總線部分和通信邏輯控制部分。如附圖1所示,接口部分的構(gòu)成包括接口端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元1;總線部分的構(gòu)成包括總線端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元2;通信邏輯控制部分包括通信控制單元、錯誤計數(shù)和錯誤處理電路,載波偵聽多址訪問沖突監(jiān)測電路。又如附圖2所示,所述的接口端串行異步收發(fā)單元的構(gòu)成可包括接口端串行異步收發(fā)器,與收發(fā)器相接的串—并轉(zhuǎn)換電路和并—串轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元1的構(gòu)成可包括接口接收數(shù)據(jù)緩沖區(qū)和接口發(fā)送數(shù)據(jù)緩沖區(qū);所述的總線端串行異步收發(fā)單元的構(gòu)成可包括總線端串行異步收發(fā)器,與其相接的并—串轉(zhuǎn)換電路和串—并轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元2的構(gòu)成可包括總線發(fā)送數(shù)據(jù)緩沖區(qū)和總線接收數(shù)據(jù)緩沖區(qū);所述的通信控制單元包括,發(fā)送控制寄存器堆,累加和校驗電路,循環(huán)冗余碼生成電路,接收控制寄存器堆,累加和生成電路,地址檢查電路,循環(huán)冗余碼校驗電路,超時檢查電路。再如附圖3所示,所述的接口接收數(shù)據(jù)緩沖區(qū)可包括數(shù)據(jù)緩沖區(qū)1、接口緩沖區(qū)控制電路1;接口發(fā)送數(shù)據(jù)緩沖區(qū)可包括數(shù)據(jù)緩沖區(qū)2、接口緩沖區(qū)控制電路2;總線發(fā)送數(shù)據(jù)緩沖區(qū)可包括數(shù)據(jù)緩沖區(qū)3、總線緩沖區(qū)控制電路1;總線接收數(shù)據(jù)緩沖區(qū)可包括數(shù)據(jù)緩沖區(qū)4、總線緩沖區(qū)控制電路2;接收控制寄存器堆可包括幀特征字寄存器堆2、接口發(fā)送控制寄存器堆、總線接收控制寄存器堆、應(yīng)答電路2和應(yīng)答電路4;發(fā)送控制寄存器堆可包括幀特征字寄存器堆1、接口接收控制寄存器堆、總線發(fā)送控制寄存器堆、應(yīng)答電路1和應(yīng)答電路3;接口端串行異步收發(fā)器可包括接口異步收發(fā)器、幀格式打包電路1、幀格式解包電路1;總線端串行異步收發(fā)器可包括總線異步收發(fā)器、幀格式打包電路2、幀格式解包電路2。整個串行接口總線通信控制器可制作成一塊集成電路芯片。具體制作時可用附圖3所示的致命錯誤檢測電路實現(xiàn)錯誤計數(shù)和錯誤處理功能,并—串轉(zhuǎn)換電路和串—并轉(zhuǎn)換電路可以歸并于幀格式打包電路和幀格式解包電路中。
由于現(xiàn)有家庭控制系統(tǒng)中,各控制對象的單片機中都有一個可編程的具有UART(異步收發(fā)器)功能的全雙工串行通信接口閑置未用,因此將串行接口總線通信控制器與此通信接口相接,既不用改造現(xiàn)有控制對象,又利用了控制對象閑置的資源,并且采用串行接口通信方式,連線只有幾根,而采用并行接口通信方式,則需要十幾根。
串行接口總線通信控制器的工作原理設(shè)備采用通用異步串行通信的方式向串行接口總線通信控制器的異步串行接口IRX發(fā)送含有起始符、數(shù)據(jù)長度、控制命令字、目標(biāo)地址、數(shù)據(jù)塊、校驗和以及結(jié)束符的幀序列。經(jīng)過串行接口總線通信控制器內(nèi)部接口端串行異步收發(fā)器,還原成8位的位流,由串—并轉(zhuǎn)換電路變?yōu)椴⑿袛?shù)據(jù)存入接口接收數(shù)據(jù)緩沖區(qū)。同時,送累加和校驗電路,確定傳輸數(shù)據(jù)是否正確無誤,將結(jié)果送發(fā)送控制寄存器堆。發(fā)送控制寄存器堆從接口接收數(shù)據(jù)緩沖區(qū)中提取控制命令字、目標(biāo)地址和傳輸數(shù)據(jù),并存入總線發(fā)送數(shù)據(jù)緩沖區(qū),加入本地地址,同時通過循環(huán)冗余碼生成電路把校驗碼存入校驗字段,并組織總線傳輸幀。(總線傳輸幀是具有起始符、目標(biāo)地址、本地地址、控制命令字、長度、數(shù)據(jù)塊、校驗字段和結(jié)束符的幀序列。)發(fā)送控制寄存器堆根據(jù)不同的控制字決定將數(shù)據(jù)發(fā)送到總線是采用廣播方式還是信息傳遞方式,啟動發(fā)送。根據(jù)載波偵聽多址訪問沖突檢測提供的信號,當(dāng)為總線空閑,允許發(fā)送,則啟動發(fā)送。總線發(fā)送數(shù)據(jù)緩沖區(qū)將數(shù)據(jù)送并—串轉(zhuǎn)換電路形成串行序列。最后由總線端串行異步收發(fā)器經(jīng)異步串行總線接口BTX向通信總線發(fā)送總線傳輸幀。發(fā)送過程中采用“邊說邊聽”的方式確定是否發(fā)送成功,具體是由異步串行總線接口的BRX收到發(fā)送到總線的位序列和發(fā)送的位序列輸入到載波偵聽多址訪問沖突檢測電路比較是否一致。如果一致,則繼續(xù)發(fā)送;如果不一致則立即通知發(fā)送控制寄存器堆和錯誤計數(shù)錯誤處理電路,停止發(fā)送。如果錯誤計數(shù)溢出,則進行錯誤處理,停止發(fā)送、產(chǎn)生出錯標(biāo)志等。
相反,如果通信總線發(fā)來一傳輸幀序列,首先經(jīng)過異步串行總線接口BRX輸入到總線端串行異步收發(fā)器,還原為8位的位流,送串并轉(zhuǎn)換電路、循環(huán)冗余碼校驗電路、超時檢查電路。串—并轉(zhuǎn)換后則存入總線接收數(shù)據(jù)緩沖區(qū);循環(huán)冗余碼檢驗電路得到結(jié)果后送接收控制寄存器堆,確定傳輸幀是否有效;超時檢查電路則提供幀序列是否結(jié)束的信號,使整個接收電路能夠準(zhǔn)確復(fù)位,進入新的等待接收狀態(tài)。地址檢查電路則從總線接收數(shù)據(jù)緩沖區(qū)中提取目標(biāo)地址字段與本地地址比較,確定是發(fā)往本地的傳輸幀。由接收控制寄存器堆拷貝總線接收數(shù)據(jù)緩沖區(qū)中目標(biāo)地址、控制命令字和數(shù)據(jù)塊存入接口發(fā)送數(shù)據(jù)緩沖區(qū)。同時由累加和生成電路得到校驗和,也存入接口發(fā)送數(shù)據(jù)緩沖區(qū)。接收控制寄存器堆啟動接口發(fā)送,接口發(fā)送數(shù)據(jù)緩沖區(qū)數(shù)據(jù)經(jīng)并串轉(zhuǎn)換電路形成8位位流,送入接口端串行異步收發(fā)器經(jīng)異步串行接口ITX發(fā)往設(shè)備。
幀特征字寄存器堆1是根據(jù)幀解包的結(jié)果,將代表幀的特征字存儲到相應(yīng)的寄存器堆,如命令字、幀長度、源地址、目的地址、本地更新地址、本地更新控制寄存器等。接口發(fā)送控制寄存器堆是控制接口發(fā)送接口緩沖區(qū)控制電路2何時啟動工作;判斷接口發(fā)送條件,啟動發(fā)送;控制累加和生成(累加和生成模塊);控制接口幀格式打包(幀格式打包1)??偩€接收控制寄存器堆是校驗接收幀正誤,判斷幀頭、幀尾,判斷循環(huán)冗余碼(循環(huán)冗余碼校驗?zāi)K),判斷信息位長度,判斷接收超時(超時檢查模塊),通過源地址、目的地址,判斷幀發(fā)送方向;監(jiān)察接口狀態(tài),判斷是否向接口搬移幀信息;控制總線接收數(shù)據(jù)緩沖區(qū)控制模塊2何時啟動工作。幀特征字寄存器堆模塊2根據(jù)幀解包的結(jié)果,將代表幀的特征字存儲到相應(yīng)的寄存器堆,如命令字、幀長度、源地址、目的地址、本地更新地址、本地更新控制寄存器等。接口接收控制寄存器堆是校驗接收幀正誤,判斷幀頭、幀尾,判斷累加和(累加和檢查模塊),判斷幀長度,判斷接收超時(超時檢查模塊);監(jiān)察總線狀態(tài),判斷是否向總線搬移幀信息;控制接口緩沖區(qū)控制電路1何時啟動工作??偩€發(fā)送控制寄存器堆是控制總線緩沖區(qū)控制模塊1何時啟動工作;判斷總線發(fā)送條件,啟動發(fā)送;控制循環(huán)冗余碼生成(循環(huán)冗余碼生成模塊);控制總線幀格式打包(幀格式打包模塊)。數(shù)據(jù)緩沖區(qū)包含接口接收數(shù)據(jù)緩沖區(qū)、接口發(fā)送數(shù)據(jù)緩沖區(qū)、總線接收數(shù)據(jù)緩沖區(qū)、總線發(fā)送數(shù)據(jù)緩沖區(qū)4塊RAM,每塊大小為8*32bit。緩沖區(qū)控制電路用于產(chǎn)生數(shù)據(jù)緩沖區(qū)(RAM)的讀寫控制信號、讀寫地址和清空緩沖區(qū)信號。幀結(jié)構(gòu)解包模塊是根據(jù)不同類型幀結(jié)構(gòu)的特點,對幀數(shù)據(jù)進行解包。幀結(jié)構(gòu)打包模塊是根據(jù)不同類型幀結(jié)構(gòu)的特點,對幀數(shù)據(jù)進行打包。異步收發(fā)器(UART)模塊是接收和發(fā)送標(biāo)準(zhǔn)起止式字符結(jié)構(gòu),一個起始位、8位數(shù)據(jù)位和一個停止位。采樣頻率為接口波特率的十六分之一。如果字符結(jié)構(gòu)錯誤,接口端自動丟棄;總線端則進行致命錯誤檢測(致命錯誤檢測模塊)應(yīng)答判斷模塊對接收的應(yīng)答幀進行相應(yīng)的處理;對非應(yīng)答幀的校驗結(jié)果進行相應(yīng)的應(yīng)答處理;對芯片設(shè)置幀進行應(yīng)答和軟復(fù)位(只有接口有此功能);根據(jù)總線應(yīng)答情況控制接口啟動發(fā)送傳輸應(yīng)答幀(只有總線有此功能)。載波監(jiān)聽、沖突檢測模塊用于實時監(jiān)聽總線,沖突檢測,判斷地址優(yōu)先級。致命錯誤檢測電路是當(dāng)固定格式的字符結(jié)構(gòu)含有一個或多個非法位時,則檢測到一個形式錯誤,當(dāng)累計到128個形式錯誤時產(chǎn)生總線錯誤(致命錯誤)。并控制接口發(fā)送控制寄存器堆啟動接口發(fā)送傳輸致命錯誤幀。
權(quán)利要求
1.一種串行接口總線通信控制器,它的構(gòu)成包括接口部分,總線部分和通信邏輯控制部分;其特征在于接口部分的構(gòu)成包括接口端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元1;總線部分的構(gòu)成包括總線端串行異步收發(fā)單元和與其相接的數(shù)據(jù)緩沖處理單元2;通信邏輯控制部分包括通信控制單元、錯誤計數(shù)和錯誤處理電路,載波偵聽多址訪問沖突監(jiān)測電路。
2.根據(jù)權(quán)利要求1所述的串行接口總線通信控制器,其特征在于所述的接口端串行異步收發(fā)單元的構(gòu)成包括接口端串行異步收發(fā)器,與收發(fā)器相接的串—并轉(zhuǎn)換電路和并—串轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元1的構(gòu)成包括接口接收數(shù)據(jù)緩沖區(qū)和接口發(fā)送數(shù)據(jù)緩沖區(qū);所述的總線端串行異步收發(fā)單元的構(gòu)成包括總線端串行異步收發(fā)器,與其相接的并—串轉(zhuǎn)換電路和串—并轉(zhuǎn)換電路;所述的數(shù)據(jù)緩沖處理單元2的構(gòu)成包括總線發(fā)送數(shù)據(jù)緩沖區(qū)和總線接收數(shù)據(jù)緩沖區(qū);所述的通信控制單元包括,發(fā)送控制寄存器堆,累加和校驗電路,循環(huán)冗余碼生成電路,接收控制寄存器堆,累加和生成電路,地址檢查電路,循環(huán)冗余碼校驗電路,超時檢查電路。
3.根據(jù)權(quán)利要求2所述的串行接口總線通信控制器,其特征在于所述的接口接收數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)1、接口緩沖區(qū)控制電路1;接口發(fā)送數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)2、接口緩沖區(qū)控制電路2;總線發(fā)送數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)3、總線緩沖區(qū)控制電路1;總線接收數(shù)據(jù)緩沖區(qū)包括數(shù)據(jù)緩沖區(qū)4、總線緩沖區(qū)控制電路2;接收控制寄存器堆包括幀特征字寄存器堆2、接口發(fā)送控制寄存器堆、總線接收控制寄存器堆、應(yīng)答電路2和應(yīng)答電路4;發(fā)送控制寄存器堆包括幀特征字寄存器堆1、接口接收控制寄存器堆、總線發(fā)送控制寄存器堆、應(yīng)答電路1和應(yīng)答電路3;接口端串行異步收發(fā)器包括接口異步收發(fā)器、幀格式打包電路1、幀格式解包電路1;總線端串行異步收發(fā)器包括總線異步收發(fā)器、幀格式打包電路2、幀格式解包電路2。
全文摘要
一種串行接口總線通信控制器,它的構(gòu)成包括接口部分,總線部分和通信邏輯控制部分;接口部分的構(gòu)成包括接口端串行異步收發(fā)單元和數(shù)據(jù)緩沖處理單元1;總線部分的構(gòu)成包括總線端串行異步收發(fā)單元和數(shù)據(jù)緩沖處理單元2;通信邏輯控制部分包括通信控制單元、錯誤計數(shù)和錯誤處理電路,載波偵聽多址訪問沖突監(jiān)測電路。本發(fā)明可在滿足家庭控制系統(tǒng)通信要求的前提下,充分利用現(xiàn)有控制對象的閑置資源,不但降低了總線通信控制器的制作成本,而且大幅度降低了家庭控制系統(tǒng)的總成本。具有結(jié)構(gòu)簡單,制作成本低,應(yīng)用成本低,應(yīng)用效果好的特點??蓮V泛應(yīng)用于家庭控制系統(tǒng)和類似的控制系統(tǒng)。
文檔編號G06F13/38GK1439971SQ0214085
公開日2003年9月3日 申請日期2002年7月5日 優(yōu)先權(quán)日2002年2月20日
發(fā)明者李筑, 謝后賢, 曾潤濤, 陳宏翔 申請人:貴州以太科技信息產(chǎn)業(yè)有限責(zé)任公司