一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),由處理器、串行時鐘總線、串行數(shù)據(jù)總線以及若干從屬設備組成,所述處理器設置兩個引腳端,這兩個引腳端分別連接串行時鐘總線、串行數(shù)據(jù)總線,所述串行時鐘總線、串行數(shù)據(jù)總線各自分別依次接入從屬設備Ⅰ、從屬設備Ⅱ、從屬設備Ⅲ、從屬設備Ⅳ。本發(fā)明有益效果為:該系統(tǒng)使用IIC時,可避免大量CPU時間浪費于IIC時序等待的問題,提高了整個系統(tǒng)效率;使用定時器中斷推動狀態(tài)機來模擬IIC總線的操作,采用中斷方式實現(xiàn),此設計極大提高了系統(tǒng)效率;有利于滿足高、低速的IIC互連。
【專利說明】
一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)
技術領域
[0001]本發(fā)明涉及IIC總線技術,尤其涉及一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)。
【背景技術】
[0002]IIC總線技術即Inter-1ntegrated Circuit(集成電路總線),是由飛利浦半導體公司在八十年代初設計出來的,主要是用來連接整體電路(ICS),IIC是一種多向控制總線,也就是說多個芯片可連接到同一總線結構下,同時每個芯片都可以作為實時數(shù)據(jù)傳輸?shù)目刂圃?,這種方式簡化了信號傳輸總線接口。其次,Iic總線是各種總線中使用信號線最少,并具有自動尋址、多主機時鐘同步和仲裁等功能的總線。因此,使用Iic總線設計計算機系統(tǒng)十分方便靈活,體積也小,在各類實際應用中得到廣泛應用。
[0003]本案需要重點指出的是,在現(xiàn)有的無人機飛行器系統(tǒng)設計過程中也使用了較多的Iic器件,所以整個系統(tǒng)的IIC設計也突顯重要,但是,綜合目前IIC技術的特點及實際場景的使用限制,需要根據(jù)以下幾點原因,進行創(chuàng)新設計:
第一,目前,市面上所使用的大部分IIC器件的速率目前一般只支持到400Kbit/s,相對于MCU速率屬于慢速連接,當在一個快速系統(tǒng)中使用IIC時,容易導致大量CPU時間浪費于Iic的時序等待,從而拖慢整個系統(tǒng)效率。
[0004]第二,在飛行器系統(tǒng)設計中,存在多個IIC器件,且各器件響應速度快慢不一致,有些器件可以支持400Kbit/s,有些器件只能支持到100Kbit/s甚至50Kbit/s時,要使系統(tǒng)效率達到最優(yōu)化,此時就需要針對不同速率的器件作特殊處理;在飛行器系統(tǒng)設計中采用的方法是將器件分為快速與慢速響應組分別處理,采用此方法需要使用到多個IIC接口,同時飛行器系統(tǒng)設計比較密集,所采用MCU的外圍資源有限,從而使用GP1模擬的方式來實現(xiàn)多IIC接口是使系統(tǒng)最優(yōu)化的選擇。
[0005]第三,目前絕大部分GP1模擬IIC總線的程序都是查詢方式,浪費大量CPU周期用于循環(huán)等待。本案中使用定時器中斷推動狀態(tài)機來模擬IIC總線的操作,采用中斷方式實現(xiàn),通過自定義的回調函數(shù)可在讀寫完成或出錯時自動調用回調函數(shù),此設計極大提高了系統(tǒng)效率,當然,此設計也可通過查詢方式讀寫IIC總線,僅需查詢IIC_BUSY即可。
[0006]第四,在設計時,若選用STM32的MCU,ST公司推出的CPAL庫在中斷方式工作下僅支持無子地址的器件,無法做到中斷方式完成讀寫大部分I2C器件。同時,CPAL庫在多個IIC同時使用時,經(jīng)測試也有存在問題,實際產品中使用不穩(wěn)定,因而,最終放棄了使用ST公司的CPAL庫以及標準外設庫訪問IIC器件,使用基于狀態(tài)機的GP1模擬IIC總線,同時也是支持中斷方式完成IIC讀寫。
[0007]因此,針對以上方面,需要對現(xiàn)有技術進行有效創(chuàng)新。
【發(fā)明內容】
[0008]針對以上缺陷,本發(fā)明提供一種可極大提高系統(tǒng)效率的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),以解決現(xiàn)有技術的諸多不足。
[0009]為實現(xiàn)上述目的,本發(fā)明采用以下技術方案:
一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),由處理器、串行時鐘總線、串行數(shù)據(jù)總線以及若干從屬設備組成,所述處理器設置兩個引腳端,這兩個引腳端分別連接串行時鐘總線、串行數(shù)據(jù)總線,所述串行時鐘總線、串行數(shù)據(jù)總線各自分別依次接入從屬設備1、從屬設備Π、從屬設備m、從屬設備IV;所述串行時鐘總線、串行數(shù)據(jù)總線基于定時器推動整個Iic狀態(tài)機的運作,通過調整定時器的定時步調,滿足高、低速的IIC互連。
[0010]所述串行時鐘總線、串行數(shù)據(jù)總線分別帶有上拉電阻。
[0011]總線系統(tǒng)實現(xiàn)時,包括IIC寫入操作流程,該流程支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)發(fā)送;
總線系統(tǒng)實現(xiàn)時,包括Iic讀取操作流程,該流程支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)讀取。
[0012]本發(fā)明所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)的有益效果為:
⑴該系統(tǒng)使用Iic時,可避免大量CRJ時間浪費于IIC時序等待的問題,提高了整個系統(tǒng)效率;
⑵使用定時器中斷推動狀態(tài)機來模擬Iic總線的操作,采用中斷方式實現(xiàn),此設計極大提尚了系統(tǒng)效率;
(3)有利于滿足高、低速的IIC互連。
【附圖說明】
[0013]下面根據(jù)附圖對本發(fā)明作進一步詳細說明。
[0014]圖1是本發(fā)明實施例所述基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)連接示意圖;
圖2是本發(fā)明實施例所述基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)的定時器推動狀態(tài)機入口流程示意圖;
圖3是本發(fā)明實施例所述基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)的IIC寫入操作流程示意圖;
圖4是本發(fā)明實施例所述基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng)的IIC讀取操作流程示意圖。
[0015]圖中:
1、處理器;2、從屬設備I; 3、從屬設備Π ; 4、從屬設備ΙΠ ; 5、從屬設備IV; 6、電源腳;7、串行時鐘總線;8、串行數(shù)據(jù)總線。
【具體實施方式】
[0016]如圖1所示,本發(fā)明實施例所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),由處理器
1、串行時鐘總線7、串行數(shù)據(jù)總線8以及若干從屬設備組成,所述處理器I設置兩個引腳端,這兩個引腳端分別連接串行時鐘總線7、串行數(shù)據(jù)總線8,所述串行時鐘總線7、串行數(shù)據(jù)總線8各自均依次接入從屬設備12、從屬設備Π 3、從屬設備ΙΠ4、從屬設備IV5,同時,所述處理器I內部若帶有上拉電阻以滿足電路時序要求,則不需外接上拉電阻。另外,該數(shù)字集成電路總線系統(tǒng)帶有電源模塊。
[0017]如圖2-4所示,本發(fā)明實施例所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),基于定時器推動整個IIC狀態(tài)機的運作,通過調整定時器的定時步調,可滿足高、低速的IIC互連;該總線系統(tǒng)工作流程主要包括定時器推動狀態(tài)機入口流程、IIC寫入操作、IIC讀取操作,其中的IIC寫入操作支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)發(fā)送;其中的IIC讀取操作支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)讀取。
[0018]以上本發(fā)明實施例所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),本案采用定時器中斷推動狀態(tài)機來模擬IIC總線的操作,采用中斷方式實現(xiàn),通過自定義的回調函數(shù)可在讀寫完成或出錯時自動調用回調函數(shù),此設計極大提高了系統(tǒng)效率,此設計也可通過查詢方式讀寫IIC總線,僅需查詢IIC_BUSY即可;若選用STM32的MCU,ST公司推出的CPAL庫在中斷方式工作下僅支持無子地址的器件,無法做到中斷方式完成讀寫大部分I2C器件。同時,CPAL庫在多個IIC同時使用時,經(jīng)測試也有存在問題,實際產品中使用不穩(wěn)定,因而,最終放棄了使用ST公司的CPAL庫以及標準外設庫訪問IIC器件,使用基于狀態(tài)機的GP1模擬IIC總線,同時也是支持中斷方式完成IIC讀寫。
[0019]上述對實施例的描述是為了便于該技術領域的普通技術人員能夠理解和應用本案技術,熟悉本領域技術的人員顯然可輕易對這些實例做出各種修改,并把在此說明的一般原理應用到其它實施例中而不必經(jīng)過創(chuàng)造性的勞動。因此,本案不限于以上實施例,本領域的技術人員根據(jù)本案的揭示,對于本案做出的改進和修改都應該在本案的保護范圍內。
【主權項】
1.一種基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),其特征在于,由處理器、串行時鐘總線、串行數(shù)據(jù)總線以及若干從屬設備組成,所述處理器設置兩個引腳端,這兩個引腳端分別連接串行時鐘總線、串行數(shù)據(jù)總線,所述串行時鐘總線、串行數(shù)據(jù)總線各自分別依次接入從屬設備1、從屬設備Π、從屬設備m、從屬設備IV;所述串行時鐘總線、串行數(shù)據(jù)總線基于定時器推動IIC狀態(tài)機運作,通過調整定時器的定時步調,滿足高、低速的IIC互連。2.根據(jù)權利要求1所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),其特征在于:所述串行時鐘總線、串行數(shù)據(jù)總線分別帶有上拉電阻。3.根據(jù)權利要求1所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),其特征在于:總線系統(tǒng)實現(xiàn)時,包括IIC寫入操作流程,該流程支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)發(fā)送。4.根據(jù)權利要求1所述的基于狀態(tài)機的數(shù)字集成電路總線系統(tǒng),其特征在于:總線系統(tǒng)實現(xiàn)時,包括IIC讀取操作流程,該流程支持I至4字節(jié)IIC從器件地址,支持多字節(jié)數(shù)據(jù)讀取。
【文檔編號】G06F13/40GK105930294SQ201610470849
【公開日】2016年9月7日
【申請日】2016年6月25日
【發(fā)明人】張宏彬
【申請人】張宏彬