新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP虛擬I2C總線軟件包的設計及應用實例

        基于DSP虛擬I2C總線軟件包的設計及應用實例

        作者: 時間:2012-04-11 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257585.htm

        X1203中的時鐘/控制寄存器(CCR)分5部分:2個8字節報警寄存器(Alarm0、Alarm1),1個1字節控制寄存器,1個8字節實時時鐘寄存器和1個1字節狀態寄存器。通過報警寄存器可設置報警發生的時間,控制寄存器可使能或禁止報警中斷信號的輸出,實時時鐘寄存器以BCD碼存儲了秒、分、時、日、星期、月和年,狀態寄存器中保存了用于報警狀態標志位及讀寫使能狀態位。其中狀態寄存器設置決定著數據是否能成功地寫入。該寄存器如表1所列。

        BAT標識器件當前用VBack還是用VCC工作。AL1、AL0標識Alarm0、Alarm1是否實時時鐘匹配。RTCF表示實時時鐘是否失效,在總電源失效后該位置1。RWEL為寄存器寫使能鎖存,為0表示禁止,在任何寫時鐘/控制寄存器之前必須將該位置1。WEL為寫使能鎖存,低表示禁止,通過該位寫1、其它位寫0,可使該位置位;通過該位寫0、其它位寫0,可使該位清0。只有按規定順序設置RWEL和WEL,才能成功寫入CCR。

        目前,很多芯片尚不直接支持的接口,F206也不例外,因而這里采用2根通用I/O口線模擬接口。F206與X1203的接口采用如圖2所示的接口方案。



        圖2中在X1、X2端接入32.768 kHz的石英晶振,將時鐘源配置為片內振蕩器。在VCC和VBACK之間通過二極管和電阻相連,并與地間加入1個0.47 F的大電容。這樣,在電源出現故障或系統電源關閉時,仍可靠VBACK端的大電容供電維持時鐘芯片的正常工作。它與F206間接口采用3根口線,這里采用IO2模擬通信用的時鐘信號,IO3作為數據輸入、輸出口線。端可根據用戶需要而定,若需要時鐘芯片產生中斷,可將該端接到F206的中斷口線上。注意其中的SDA端和端為漏極開路,必須加上拉電阻,否則不能正常通信。

        3.2 X1203的讀寫操作

        這里僅給出F206對X1203進行讀寫的基本流程,如圖3、圖4所示,分別為對時鐘芯片的讀、寫過程。其中進行寄存器寫時,須注意SR寄存器中WEL和RWEL的設置是否正確,即首先設置WEL有效,而后將WEL、RWEL都置1,否則數據將不能正確寫入。在寫結束后,應將WEL、RWEL置為無效,以免產生誤操作。

        此外還須指出,在系統首次上電后(VBack和VCC都失效后),至少有一字節寫入RTC寄存器時,系統才開始工作。在實際使用中,應首先判斷SR中的RTCF位是否為1,若是,表明系統為首次使用或VBack和VCC都已失效,須對X1203至少進行一次寫入操作,使其正常計數。

        結束語

        總線應用已日益廣泛,而其協議的復雜性和操作的特殊性又限制了推廣速度。本文介紹的一種基于的虛擬I2C總線軟件包,簡化了TMS320C2XX與I2C器件間接口程序設計,用戶無需了解I2C總線協議的細節,僅需通過唯一的接口界面wrnbyte/ rdnbyte即可實現相應的接口。本文還給出了一個與時鐘芯片X1203間的接口實例,介紹了軟件包的使用方法,希望能供讀者參考。


        上一頁 1 2 下一頁

        關鍵詞: DSP I2C TMS320F206

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安溪县| 额尔古纳市| 运城市| 托克逊县| 宜兰县| 郯城县| 太仆寺旗| 荔波县| 定远县| 渝北区| 江阴市| 龙江县| 阿鲁科尔沁旗| 湘潭市| 佛冈县| 浪卡子县| 天镇县| 长治县| 略阳县| 错那县| 罗甸县| 巩义市| 德化县| 遵化市| 鄯善县| 壤塘县| 恩施市| 涞源县| 渭南市| 邹城市| 仪征市| 闻喜县| 扎囊县| 饶阳县| 蓬安县| 措美县| 康乐县| 探索| 宜州市| 成安县| 固镇县|