亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種具有發(fā)送FIFO的CAN總線控制器電路的制作方法

文檔序號:11233585閱讀:1695來源:國知局
一種具有發(fā)送FIFO的CAN總線控制器電路的制造方法與工藝

本發(fā)明屬于半導(dǎo)體集成電路中總線轉(zhuǎn)換技術(shù)領(lǐng)域,尤其涉及can總線協(xié)議轉(zhuǎn)換專用集成電路設(shè)計(jì)方面。



背景技術(shù):

can(controllerareanetwork)總線是bosch公司為現(xiàn)代工業(yè)應(yīng)用推出的一種多主機(jī)局域網(wǎng),屬于現(xiàn)場總線的范疇。隨著計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)及智能傳感技術(shù)的發(fā)展,can總線技術(shù)在工業(yè)控制領(lǐng)域起著越來越重要的作用。然而,傳統(tǒng)的can總線只有接收fifo,而沒有發(fā)送fifo,發(fā)送緩沖器是通過寫寄存器實(shí)現(xiàn)的,即發(fā)送數(shù)據(jù)時往相應(yīng)的can總線地址中寫入發(fā)送幀信息、識別碼及發(fā)送數(shù)據(jù),can總線內(nèi)部通過寄存器地址讀取相應(yīng)的值,發(fā)送至can總線tx端口。例如philips公司的sja1000電路就是如此。但是這種can總線電路有一個弊端,由于一幀數(shù)據(jù)最多含有1個幀信息、4個發(fā)送識別碼、8個發(fā)送數(shù)據(jù),即一次最多發(fā)送13個can消息,如果要發(fā)送多幀數(shù)據(jù),則需等上一幀13個數(shù)據(jù)發(fā)送完成后,再寫相應(yīng)的寄存器地址,才能繼續(xù)發(fā)送,影響了發(fā)送效率。

目前,研究can總線的專利有很多,比如專利號為200710070565.7的《一種基于can總線的信號實(shí)時性處理方法》、專利號為201310610751.0的《can總線控制系統(tǒng)》、專利號為201510453826.8的《can總線電路》、專利號為201510688635.x的《基于can總線數(shù)據(jù)存儲的方法及其系統(tǒng)》等,又如曾照福等編寫的論文《采用fifo的can總線接口卡的設(shè)計(jì)》、王子健編寫的論文《基于fpgafifo處理的多路can總線高速通信設(shè)計(jì)》等,這些專利及論文涉及到各種can總線電路,但都為標(biāo)準(zhǔn)can總線接收fifo。



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

本發(fā)明所要解決的技術(shù)問題是提供一種具有發(fā)送fifo的can總線控制器電路,在can總線電路中加入128字節(jié)的發(fā)送fifo,用戶可以一次直接寫入多幀can總線數(shù)據(jù),電路內(nèi)部將寫入數(shù)據(jù)存入發(fā)送fifo中,通過tx端口一幀一幀發(fā)送至can總線,通過這種方法可以大大提升發(fā)送效率,方便用戶使用。

為解決上述技術(shù)問題,本發(fā)明提供一種具有發(fā)送fifo的can總線控制器電路,其特征是,主要包括以下模塊:

接口管理單元:進(jìn)行can初始化管理,通過對外部輸入信號進(jìn)行控制,根據(jù)相應(yīng)的地址、數(shù)據(jù)、控制信號配置can內(nèi)部寄存器。

發(fā)送fifo:存儲外部寫入的發(fā)送幀信息、識別碼和發(fā)送數(shù)據(jù);

指針存儲fifo:存儲發(fā)送數(shù)據(jù)的個數(shù);

發(fā)送控制邏輯單元:發(fā)送控制邏輯單元對發(fā)送fifo與指針存儲fifo的地址、數(shù)據(jù)、指針信號進(jìn)行控制管理;

發(fā)送緩沖器:根據(jù)發(fā)送啟動信號將發(fā)送fifo中的發(fā)送幀信息、識別碼及發(fā)送數(shù)據(jù)取出,并分別對應(yīng)送入發(fā)送幀信息、識別碼及發(fā)送數(shù)據(jù)對應(yīng)的寄存器地址;

發(fā)送計(jì)數(shù)器:根據(jù)讀寫控制信號進(jìn)行有效的地址加減,并且還根據(jù)fifo計(jì)數(shù)的多少產(chǎn)生空滿標(biāo)志信號;

can總線控制器:can總線控制器為標(biāo)準(zhǔn)的can總線控制器。

所述can總線控制器包括:

內(nèi)部接口管理單元:接收來自外部控制器的命令,控制can寄存器的尋址,向外部控制器提供中斷信息和狀態(tài)信息;

發(fā)送邏輯單元:是外部控制器和位流處理器之間的接口,用于接收發(fā)送fifo控制器傳入的發(fā)送消息,將can信息發(fā)送到can總線上;

接收fifo:是驗(yàn)收濾波器和外部控制器之間的接口,用于儲存從can總線上接收的信息;可被外部控制器訪問,外部控制器在此接收fifo的支持下可以在處理信息的時候接收其它信息。

驗(yàn)收濾波器:把它其中的數(shù)據(jù)和接收的識別碼的內(nèi)容相比較,以決定是否接收信息;

位流處理器:在發(fā)送邏輯單元、接收fifo和can總線之間控制數(shù)據(jù)流;

位時序邏輯:監(jiān)視串口的can總線和處理與can總線有關(guān)的位時序。

發(fā)送fifo的深度為128字節(jié)。

指針存儲fifo的深度為64字節(jié)。

發(fā)送控制邏輯單元根據(jù)外部寫入的發(fā)送數(shù)據(jù)與數(shù)據(jù)長度分別存入發(fā)送fifo中,并且每個數(shù)據(jù)按照先入先出的原則進(jìn)行控制。

發(fā)送控制邏輯單元根據(jù)發(fā)送請求信號,產(chǎn)生發(fā)送啟動命令,當(dāng)一幀can總線數(shù)據(jù)發(fā)送完成后,也產(chǎn)生發(fā)送完成標(biāo)志。

當(dāng)發(fā)送can總線數(shù)據(jù)時,往對應(yīng)的發(fā)送緩沖器寫入幀信息、識別碼、發(fā)送數(shù)據(jù),根據(jù)寫入的數(shù)據(jù),將幀信息、識別碼、發(fā)送數(shù)據(jù)存入發(fā)送fifo中,并且每個數(shù)據(jù)按照地址進(jìn)行累加,即每個地址存入一個數(shù)據(jù);每一幀can總線發(fā)送數(shù)據(jù)的數(shù)據(jù)長度代碼存入指針存儲fifo中,每次發(fā)送數(shù)據(jù)時根據(jù)指針存儲fifo中的值從發(fā)送fifo中讀出對應(yīng)長度的數(shù)據(jù)字節(jié)進(jìn)行發(fā)送。

當(dāng)發(fā)送控制邏輯單元檢測到發(fā)送請求信號有效后,產(chǎn)生發(fā)送啟動命令,can總線控制器根據(jù)發(fā)送啟動命令將第一次寫入發(fā)送fifo的數(shù)據(jù)取出并發(fā)送至其發(fā)送端tx端口,當(dāng)發(fā)送端tx發(fā)送數(shù)據(jù)完成后,產(chǎn)生發(fā)送完成標(biāo)志,can總線控制器檢測到發(fā)送完成標(biāo)志,從發(fā)送fifo中讀出第二次寫入發(fā)送fifo中的數(shù)據(jù),并繼續(xù)從其發(fā)送端tx端口發(fā)送,發(fā)送完成產(chǎn)生發(fā)送完成標(biāo)志,以此類推。

當(dāng)接收can總線數(shù)據(jù)時,接收端rx端口有can總線輸入,通過can總線控制器內(nèi)部的驗(yàn)收濾波器、位時序邏輯和位流處理器,將接收到的can報(bào)文進(jìn)行解碼處理后存入接收fifo中。

位流處理器還在can總線上執(zhí)行錯誤檢測仲裁填充和錯誤處理。

本發(fā)明的優(yōu)點(diǎn)是內(nèi)部含有128字節(jié)的發(fā)送fifo,使用時可以連續(xù)的寫入發(fā)送can總線信息,如果每一幀發(fā)送數(shù)據(jù)都有8個數(shù)據(jù)字節(jié),加上幀信息與識別碼,一共有13個數(shù)據(jù)字節(jié),則寫發(fā)送can總線數(shù)據(jù)時,一次可最多寫入9幀發(fā)送信息,而普通的can總線控制器則需在一幀can總線數(shù)據(jù)發(fā)送完成后,才可以寫入第二幀can總線數(shù)據(jù)。本發(fā)明在發(fā)送can總線數(shù)據(jù)時,大大提高了發(fā)送效率,使用也十分方便。

附圖說明

圖1是本發(fā)明的具有發(fā)送fifo的can總線控制器電路圖;

圖2是圖1中的can總線控制器電路圖。

具體實(shí)施方式

下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。

如圖1所示,本發(fā)明的具有發(fā)送fifo的can總線控制器電路,主要包括以下模塊:

(1)接口管理單元

接口管理單元主要進(jìn)行can初始化管理,通過對外部輸入信號進(jìn)行控制,根據(jù)相應(yīng)的地址、數(shù)據(jù)、控制信號進(jìn)行管理,配置can內(nèi)部寄存器。

(2)發(fā)送fifo

發(fā)送fifo主要存儲外部寫入的發(fā)送幀信息、識別碼、發(fā)送數(shù)據(jù),發(fā)送fifo的深度為128字節(jié)。

(3)指針存儲fifo

指針存儲fifo主要存儲發(fā)送數(shù)據(jù)的個數(shù),即數(shù)據(jù)長度代碼dlc,指針存儲fifo的深度為64字節(jié)。

(4)發(fā)送控制邏輯單元

發(fā)送控制邏輯單元對電路內(nèi)部發(fā)送fifo與指針存儲fifo的地址、數(shù)據(jù)、指針信號進(jìn)行控制管理,根據(jù)外部寫入的發(fā)送數(shù)據(jù)與數(shù)據(jù)長度分別存入內(nèi)部fifo中,并且每個數(shù)據(jù)按照先入先出的原則進(jìn)行控制。另外還根據(jù)發(fā)送請求信號,產(chǎn)生發(fā)送啟動命令,當(dāng)一幀can總線數(shù)據(jù)發(fā)送完成后,也產(chǎn)生發(fā)送完成標(biāo)志。

(5)發(fā)送緩沖器

發(fā)送緩沖器主要根據(jù)發(fā)送啟動信號將發(fā)送fifo中的發(fā)送幀信息、識別碼及發(fā)送數(shù)據(jù)取出,并分別送入發(fā)送幀信息、識別碼及發(fā)送數(shù)據(jù)對應(yīng)的寄存器地址。

(6)發(fā)送計(jì)數(shù)器

發(fā)送計(jì)數(shù)器主要進(jìn)行讀、寫地址控制,根據(jù)讀寫控制信號進(jìn)行有效的地址加減,并且還根據(jù)發(fā)送fifo計(jì)數(shù)的多少產(chǎn)生空滿標(biāo)志信號。

(7)can總線控制器,如圖2所示

can總線控制器為標(biāo)準(zhǔn)的can總線控制器,功能類似于philips公司的sja1000電路。

包括以下模塊:

接口管理單元解釋(根據(jù)外部控制器輸入的指令,提供can總線內(nèi)部的狀態(tài)信息,比如說通過外部端口addr發(fā)送讀狀態(tài)寄存器,可以讀出發(fā)送與接收是否完成等狀態(tài)信息)來自外部控制器的命令,控制can寄存器的尋址,向外部控制器提供中斷信息和狀態(tài)信息。

發(fā)送邏輯單元主要接收發(fā)送fifo控制器傳入的發(fā)送消息,它是外部控制器和位流處理器之間的接口,能夠?qū)an信息發(fā)送到can總線上。

接收fifo是驗(yàn)收濾波器和外部控制器之間的接口,用來儲存從can總線上接收的幀信息與數(shù)據(jù)等信息。接收fifo作為接收數(shù)據(jù)的一個窗口,可被外部控制器訪問,外部控制器在此接收fifo的支持下可以在處理信息的時候接收其它信息。

驗(yàn)收濾波器把它其中的數(shù)據(jù)和接收的識別碼的內(nèi)容相比較,以決定是否接收信息,當(dāng)接收的識別碼與預(yù)定義的值一致時,接收數(shù)據(jù);不一致即不接收數(shù)據(jù))。

位流處理器在發(fā)送邏輯單元、接收fifo和can總線之間控制數(shù)據(jù)流。它還在can總線上執(zhí)行錯誤檢測仲裁填充和錯誤處理。

位時序邏輯監(jiān)視串口的can總線和處理與can總線有關(guān)的位時序。它在信息開頭“弱勢支配”的總線傳輸時同步can總線位流,接收信息時再次同步下一次傳送,位時序邏輯還提供了可編程的時間段來補(bǔ)償傳播延遲時間、相位轉(zhuǎn)換和定義采樣點(diǎn)和一位時間內(nèi)的采樣次數(shù)。

本發(fā)明的具有發(fā)送fifo的can總線控制器電路,電路外部接口與標(biāo)準(zhǔn)can總線控制電路一致,包括時鐘端口clk、復(fù)位端口rst、地址總線addr、寫數(shù)據(jù)總線wdata、讀數(shù)據(jù)總線rdata、讀寫控制信號wr/rd、中斷信號int、以及發(fā)送端tx和接收端rx等。can總線控制器的接口中斷信號int、以及發(fā)送端tx和接收端rx即作為具有發(fā)送fifo的can總線控制器電路的接口。

當(dāng)發(fā)送can總線數(shù)據(jù)時,通過地址總線addr、寫數(shù)據(jù)總線wdata、讀寫控制信號wr/rd進(jìn)行控制,往對應(yīng)的發(fā)送緩沖器寫入幀信息、識別碼、發(fā)送數(shù)據(jù),此時,如果需要發(fā)送多幀can總線數(shù)據(jù),則可以連續(xù)寫入幀信息、識別碼、發(fā)送數(shù)據(jù),而不必等待上一幀數(shù)據(jù)發(fā)送完成后再進(jìn)行寫數(shù)據(jù)。電路根據(jù)寫入的數(shù)據(jù),將幀信息、識別碼、發(fā)送數(shù)據(jù)存入內(nèi)部發(fā)送fifo中,并且每個數(shù)據(jù)按照地址進(jìn)行累加,即每個地址存入一個數(shù)據(jù)。由于每一幀can總線發(fā)送數(shù)據(jù)的數(shù)據(jù)長度代碼dlc不一致,數(shù)據(jù)字節(jié)長度最小為0,最大為8,在內(nèi)部設(shè)置一個64字節(jié)的指針存儲fifo,將每一幀的數(shù)據(jù)長度代碼dlc存入指針存儲fifo中,每次發(fā)送數(shù)據(jù)時根據(jù)指針存儲fifo中的值從發(fā)送fifo中讀出對應(yīng)長度的數(shù)據(jù)字節(jié)進(jìn)行發(fā)送。

當(dāng)檢測到發(fā)送請求有效后,產(chǎn)生發(fā)送啟動命令,can總線控制器根據(jù)發(fā)送啟動命令將第一次寫入發(fā)送fifo的數(shù)據(jù)取出并發(fā)送至發(fā)送端tx端口,當(dāng)發(fā)送端tx發(fā)送數(shù)據(jù)完成后,產(chǎn)生發(fā)送完成標(biāo)志,can總線控制器檢測到發(fā)送完成標(biāo)志,從發(fā)送fifo中讀出第二次寫入發(fā)送fifo中的數(shù)據(jù),并繼續(xù)從發(fā)送端tx端口發(fā)送,發(fā)送完成產(chǎn)生發(fā)送完成標(biāo)志,以此類推。

當(dāng)接收can總線數(shù)據(jù)時,接收端rx端口有can總線輸入,通過can總線控制器內(nèi)部的驗(yàn)收濾波器、位時序邏輯和位流處理器,將接收到的can報(bào)文進(jìn)行解碼處理后存入can總線控制器內(nèi)部接收fifo中,并可通過地址addr、讀數(shù)據(jù)總線rdata、讀寫控制信號wr/rd讀出接收fifo中的數(shù)據(jù)。

can總線控制器電路內(nèi)部設(shè)置了fifo空滿信號標(biāo)志(發(fā)送fifo中設(shè)置了空滿標(biāo)志,接收fifo中也設(shè)置了空滿標(biāo)志),當(dāng)寫入發(fā)送/接收fifo中的數(shù)據(jù)超過了fifo的存儲深度,則會產(chǎn)生fifo滿標(biāo)志,并且中斷信號int有效。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1