本實(shí)用新型涉及IIC總線技術(shù),尤其涉及一種基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)。
背景技術(shù):
IIC總線技術(shù)主要是用來連接整體電路(ICS),IIC是一種多向控制總線,也就是說多個(gè)芯片可連接到同一總線結(jié)構(gòu)下,同時(shí)每個(gè)芯片都可以作為實(shí)時(shí)數(shù)據(jù)傳輸?shù)目刂圃?,這種方式簡化了信號傳輸總線接口。
在現(xiàn)有的無人機(jī)飛行器系統(tǒng)設(shè)計(jì)過程中也使用了較多的IIC器件,所以整個(gè)系統(tǒng)的IIC設(shè)計(jì)也突顯重要,但是,綜合目前IIC技術(shù)的特點(diǎn)及實(shí)際場景的使用限制,需要根據(jù)以下幾點(diǎn)原因,進(jìn)行設(shè)計(jì):
第一,目前,市面上所使用的大部分IIC器件的速率目前一般只支持到400Kbit/s,相對于MCU速率屬于慢速連接,當(dāng)在一個(gè)快速系統(tǒng)中使用IIC時(shí),容易導(dǎo)致大量CPU時(shí)間浪費(fèi)于IIC的時(shí)序等待,從而拖慢整個(gè)系統(tǒng)效率。
第二,在飛行器系統(tǒng)設(shè)計(jì)中,存在多個(gè)IIC器件,且各器件響應(yīng)速度快慢不一致,有些器件可以支持400Kbit/s,有些器件只能支持到100Kbit/s甚至50Kbit/s時(shí),要使系統(tǒng)效率達(dá)到最優(yōu)化,此時(shí)就需要針對不同速率的器件作特殊處理;在飛行器系統(tǒng)設(shè)計(jì)中采用的方法是將器件分為快速與慢速響應(yīng)組分別處理,采用此方法需要使用到多個(gè)IIC接口,同時(shí)飛行器系統(tǒng)設(shè)計(jì)比較密集,所采用MCU的外圍資源有限,從而使用GPIO模擬的方式來實(shí)現(xiàn)多IIC接口是使系統(tǒng)最優(yōu)化的選擇。
第三,目前絕大部分GPIO模擬IIC總線的程序都是查詢方式,浪費(fèi)大量CPU周期用于循環(huán)等待。本案中使用定時(shí)器中斷推動狀態(tài)機(jī)來模擬IIC總線的操作,采用中斷方式實(shí)現(xiàn),通過自定義的回調(diào)函數(shù)可在讀寫完成或出錯(cuò)時(shí)自動調(diào)用回調(diào)函數(shù),此設(shè)計(jì)極大提高了系統(tǒng)效率,當(dāng)然,此設(shè)計(jì)也可通過查詢方式讀寫IIC總線,僅需查詢IIC_BUSY即可。
第四,在設(shè)計(jì)時(shí),若選用STM32的MCU,ST公司推出的CPAL庫在中斷方式工作下僅支持無子地址的器件,無法做到中斷方式完成讀寫大部分I2C器件。同時(shí),CPAL庫在多個(gè)IIC同時(shí)使用時(shí),經(jīng)測試也有存在問題,實(shí)際產(chǎn)品中使用不穩(wěn)定,因而,最終放棄了使用ST公司的CPAL庫以及標(biāo)準(zhǔn)外設(shè)庫訪問IIC器件,使用基于狀態(tài)機(jī)的GPIO模擬IIC總線,同時(shí)也是支持中斷方式完成IIC讀寫。
因此,針對以上方面,需要對現(xiàn)有技術(shù)進(jìn)行合理的改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
針對以上缺陷,本實(shí)用新型提供一種可極大提高系統(tǒng)效率的基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng),以解決現(xiàn)有技術(shù)的諸多不足。
為實(shí)現(xiàn)上述目的,本實(shí)用新型采用以下技術(shù)方案:
一種基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng),由處理器、串行時(shí)鐘總線、串行數(shù)據(jù)總線以及若干從屬設(shè)備組成,所述處理器設(shè)置兩個(gè)引腳端,這兩個(gè)引腳端分別連接串行時(shí)鐘總線、串行數(shù)據(jù)總線,所述串行時(shí)鐘總線、串行數(shù)據(jù)總線各自均依次接入從屬設(shè)備Ⅰ、從屬設(shè)備Ⅱ、從屬設(shè)備Ⅲ、從屬設(shè)備Ⅳ;所述串行時(shí)鐘總線、串行數(shù)據(jù)總線分別帶有上拉電阻。
所述處理器外部配置定時(shí)器并且基于定時(shí)器推動IIC狀態(tài)機(jī)的運(yùn)作,所述處理器采用定時(shí)器中斷推動狀態(tài)機(jī)來模擬IIC總線的操作。
本實(shí)用新型所述的基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)的有益效果為:
⑴該系統(tǒng)使用IIC時(shí),可避免大量CPU時(shí)間浪費(fèi)于IIC時(shí)序等待的問題,提高了整個(gè)系統(tǒng)效率;
⑵使用定時(shí)器中斷推動狀態(tài)機(jī)來模擬IIC總線的操作,采用中斷方式實(shí)現(xiàn),此設(shè)計(jì)極大提高了系統(tǒng)效率;
⑶有利于滿足高、低速的IIC互連。
附圖說明
下面根據(jù)附圖對本實(shí)用新型作進(jìn)一步詳細(xì)說明。
圖1是本實(shí)用新型實(shí)施例所述基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)連接示意圖;
圖2是本實(shí)用新型實(shí)施例所述基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)的定時(shí)器推動狀態(tài)機(jī)入口流程示意圖;
圖3是本實(shí)用新型實(shí)施例所述基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)的IIC寫入操作流程示意圖;
圖4是本實(shí)用新型實(shí)施例所述基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng)的IIC讀取操作流程示意圖。
圖中:
1、處理器;2、從屬設(shè)備Ⅰ;3、從屬設(shè)備Ⅱ;4、從屬設(shè)備Ⅲ;5、從屬設(shè)備Ⅳ;6、電源腳;7、串行時(shí)鐘總線;8、串行數(shù)據(jù)總線。
具體實(shí)施方式
如圖1所示,本實(shí)用新型實(shí)施例所述的基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng),由處理器1、串行時(shí)鐘總線7、串行數(shù)據(jù)總線8以及若干從屬設(shè)備組成,所述處理器1設(shè)置兩個(gè)引腳端,這兩個(gè)引腳端分別連接串行時(shí)鐘總線7、串行數(shù)據(jù)總線8,所述串行時(shí)鐘總線7、串行數(shù)據(jù)總線8各自均依次接入從屬設(shè)備Ⅰ2、從屬設(shè)備Ⅱ3、從屬設(shè)備Ⅲ4、從屬設(shè)備Ⅳ5,同時(shí),所述處理器1內(nèi)部若帶有上拉電阻以滿足電路時(shí)序要求,則不需外接上拉電阻。
如圖2-4所示,本實(shí)用新型實(shí)施例所述的基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng),基于定時(shí)器推動整個(gè)IIC狀態(tài)機(jī)的運(yùn)作,通過調(diào)整定時(shí)器的定時(shí)步調(diào),可滿足高、低速的IIC互連;該總線系統(tǒng)工作流程主要包括定時(shí)器推動狀態(tài)機(jī)入口流程、IIC寫入操作、IIC讀取操作,其中的IIC寫入操作支持1至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)發(fā)送;其中的IIC讀取操作支持1至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)讀取。
以上本實(shí)用新型實(shí)施例所述的基于狀態(tài)機(jī)的數(shù)字集成電路總線系統(tǒng),本案采用定時(shí)器中斷推動狀態(tài)機(jī)來模擬IIC總線的操作,采用中斷方式實(shí)現(xiàn),通過自定義的回調(diào)函數(shù)可在讀寫完成或出錯(cuò)時(shí)自動調(diào)用回調(diào)函數(shù),此設(shè)計(jì)極大提高了系統(tǒng)效率,此設(shè)計(jì)也可通過查詢方式讀寫IIC總線,僅需查詢IIC_BUSY即可;若選用STM32的MCU,ST公司推出的CPAL庫在中斷方式工作下僅支持無子地址的器件,無法做到中斷方式完成讀寫大部分I2C器件。同時(shí),CPAL庫在多個(gè)IIC同時(shí)使用時(shí),經(jīng)測試也有存在問題,實(shí)際產(chǎn)品中使用不穩(wěn)定,因而,最終放棄了使用ST公司的CPAL庫以及標(biāo)準(zhǔn)外設(shè)庫訪問IIC器件,使用基于狀態(tài)機(jī)的GPIO模擬IIC總線,同時(shí)也是支持中斷方式完成IIC讀寫。
上述對實(shí)施例的描述是為了便于該技術(shù)領(lǐng)域的普通技術(shù)人員能夠理解和應(yīng)用本案技術(shù),熟悉本領(lǐng)域技術(shù)的人員顯然可輕易對這些實(shí)例做出各種修改,并把在此說明的一般原理應(yīng)用到其它實(shí)施例中而不必經(jīng)過創(chuàng)造性的勞動。因此,本案不限于以上實(shí)施例,本領(lǐng)域的技術(shù)人員根據(jù)本案的揭示,對于本案做出的改進(jìn)和修改都應(yīng)該在本案的保護(hù)范圍內(nèi)。