資料介紹
引言
數字信號處理器(DSP)在各領域中的應用已日趨廣泛,其中TI(TEXAS INSTRUMENT)公司的TMS320系列芯片占據了主導地位。TMS320F206(簡稱F206)由于具有片內32K字的Flash,支持JTAG掃描端口的仿真調試,并支持程序的串行下載,便于開發設計及產品的軟件升級,因而在中高檔儀器開發中受到青睞。
DSP的處理速度雖然較高,但直接支持的I/O口線較少,控制能力相對較弱,因而與外部器件接口采用串行方式較為適合。常用的串行接口和串行總線有UART、I2C總線,由于I2C總線提供了較完善的總線協議,且接口電路簡單,因而得到廣泛的應用。目前,已有很多外圍器件支持I2C接口,但多數MCU并不直接支持I2C總線,因而采用I/O口線模擬I2C的方式成為一種通用解決方案。但由于I2C總線協議的復雜性及操作管理的特殊性,仍給此類方式的開發造成了較大不便。好在文獻中提出了一種按平臺模式設計的、適用于80C51的虛擬I2C總線軟件包,大大簡化了80C51的I2C接口程序設計,使用戶無需了解I2C總線協議的細節,即可實現相應的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于DSP尚無此類軟件包,為簡化DSP的此類I2C接口程序設計,本文參照文獻中的設計原則,設計了一種適用于TMS320C2XX系列DSP開發的軟件包。
1 虛擬I2C軟件包的設計
根據文獻中所提到的最佳包容性設計、后歸一化設計、前歸一化設計原則,軟件包進行了如下定義。
(1)適用范圍
① 適用主發送和主接收方式。I2C總線有4種工作方式:主發送、主接收、從發送、從接收。因實際DSP多工作于I2C總線的主方式,因而軟件包設計為主方式。
② 適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節的讀寫,通信方式為對虛擬節點尋址后點對點的讀寫。
③ 模擬I/O口線可選擇4根通用I/O口線(I/O0~ I/O4)中的任意兩根。
(2)軟件包結構設計
TMS320C2XX系列產品,基本包括4根通用I/O口線I/O0~I/O4(由于XF僅能作為輸入口線,BIO僅能作為輸出口線,因而暫不考慮)。它們的輸入輸出方向由ASPCR的低4位來設定,相應口線狀態的設定或讀取由IOSR寄存器控制。但此處DSP與80C51有所不同,口線的輸入輸出狀態不是自動切換的,且ASPCR、IOSR寄存器都不支持位尋址方式,因而在進行I2C總線工作方式模擬時較為繁瑣。為避免所用寄存器其它狀態位的改變,需通過較多的與、或操作來改變指定I/O口線的狀態,因而本軟件包與80C51的虛擬I2C軟件包結構稍有不同。當然,這些均在軟件包內部完成,使用者不必了解具體細節,用戶接口同樣簡單易用。
① 軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數。
(a)時序模擬子程序
Sendb--發送起始標志,啟動I2C總線;senda--發送確認標志;
Sendna--發送非確認標志;Sende--發送結束標志。
(b)操作模擬子程序
geta--接收確認標志;sendd--發送8位數據;
getd--接收1個字節數據。
(c)數據讀寫子程序
wrnbyte--寫入N字節;rdnbyte--讀取N字節。
(d)其它宏及子函數
subsendd--根據標志位C設置模擬數據口線的狀態;toggleclk--切換模擬時鐘口線狀態;
Xdelay--延時子程序;Sdainm--將模擬數據口線A配置為輸入口線;
sdaoutm--將模擬數據口線配置為輸出。
因DSP的工作頻率一般遠高于I2C總線的操作頻率,因而這里需專用的延時子程序降低模擬時鐘口線頻率。本文所給出的源程序為F206采用40 MHz晶振時的情況,用戶使用時可隨實際情況調整延時時間。
② 軟件包符號定義。軟件包中包括如下符號定義:
VSDA、VSCL--分別定義了模擬數據口線和模擬時鐘口線對應的屏蔽位,因DSP中對通用I/O口線的操作不能通過位操作來實現,因而僅能屏蔽位來定義,如采用IO3模擬數據線、IO2模擬時鐘線,則可定義IO3為08h、IO2為04h;
RAM0--為數據暫存用的臨時存儲單元;
RIO--為用于保存I/O口線當前狀態的存儲單元;
SLA--用于保存總線上節點地址并確定傳輸方向的存儲單元;
NUMBYTE--待發送或接收的字節數存儲單元;
MTD--發送數據緩沖區;
MRD--接收數據緩沖區。
以上符號中RAM0、RIO、SLA、NUMBYTE為頁內地址,與當前的頁指針DP內容設置有關;MTD、MRD為絕對地址,與DP內容無關。
③ 資源占用。使用了輔助寄存器AR0、AR1、AR2、AR6、ACC、ASPCR、IOSR等資源。
④ 應用接口。軟件包將wrnbyte、rdnbyte作為唯一的出口接口,用戶僅需正確設置對應儲存單元的內容,調用相應子函數即可:
splk #SLAR/ SLAW,SLA;寫入傳輸節點地址及傳輸方向
splk #N,NUMBYTE ;寫入待傳輸字節數
;若輸出,設置輸出緩沖區內容
call wrnbyte/rdnbyte
3 應用實例
3.1 器件相關功能簡介
X1203是帶時鐘/日歷電路和兩個鬧鐘(報警)的低功耗CMOS實時時鐘芯片。提供了雙埠時鐘和報警寄存器,在讀寫操作期間也能精確工作。其工作電壓從2.5~6 V均可,工作電流小于1uA。時鐘使用低成本的32.768 kHz晶體輸入,以秒、分、時、日、星期、月和年為單位記錄時間,具有閏年自動矯正功能,并對少于31天的月份自動調整;可通過設置中斷標志按指定時間激活中斷引腳,滿足大多數用戶對定時器編程的需要。該芯片引腳結構如圖1所示(SOIC封裝)。
其中SCL為時鐘輸入端,數據隨該時鐘信號同步輸入器件或從器件輸出。此引腳上的輸入緩沖器始終激活。SDA端為雙向引腳,用于串行數據的輸入輸出;具有漏極開路,可與其它漏極開路或集電極開路輸出進行線“或”;需上拉電阻,與SCL引腳配合,可實現400 kHz的2線I2C接口。VBack為備用電源輸入端,用于VCC出現故障時向器件供電。是中斷信號輸出端,可通過設置報警寄存器按指定時間在該端產生報警信號;漏極開路,低電平有效。X1、X2分別為反相放大器的輸入、輸出端;可在X1端接入32.768 kHz的方波基準,或在X1、X2端接入32.768 kHz的石英晶振,配置成片內振蕩器,在初始上電后至少有一個字節寫入RTC寄存器時,時鐘才開始計數。
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。
數字信號處理器(DSP)在各領域中的應用已日趨廣泛,其中TI(TEXAS INSTRUMENT)公司的TMS320系列芯片占據了主導地位。TMS320F206(簡稱F206)由于具有片內32K字的Flash,支持JTAG掃描端口的仿真調試,并支持程序的串行下載,便于開發設計及產品的軟件升級,因而在中高檔儀器開發中受到青睞。
DSP的處理速度雖然較高,但直接支持的I/O口線較少,控制能力相對較弱,因而與外部器件接口采用串行方式較為適合。常用的串行接口和串行總線有UART、I2C總線,由于I2C總線提供了較完善的總線協議,且接口電路簡單,因而得到廣泛的應用。目前,已有很多外圍器件支持I2C接口,但多數MCU并不直接支持I2C總線,因而采用I/O口線模擬I2C的方式成為一種通用解決方案。但由于I2C總線協議的復雜性及操作管理的特殊性,仍給此類方式的開發造成了較大不便。好在文獻中提出了一種按平臺模式設計的、適用于80C51的虛擬I2C總線軟件包,大大簡化了80C51的I2C接口程序設計,使用戶無需了解I2C總線協議的細節,即可實現相應的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于DSP尚無此類軟件包,為簡化DSP的此類I2C接口程序設計,本文參照文獻中的設計原則,設計了一種適用于TMS320C2XX系列DSP開發的軟件包。
1 虛擬I2C軟件包的設計
根據文獻中所提到的最佳包容性設計、后歸一化設計、前歸一化設計原則,軟件包進行了如下定義。
(1)適用范圍
① 適用主發送和主接收方式。I2C總線有4種工作方式:主發送、主接收、從發送、從接收。因實際DSP多工作于I2C總線的主方式,因而軟件包設計為主方式。
② 適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節的讀寫,通信方式為對虛擬節點尋址后點對點的讀寫。
③ 模擬I/O口線可選擇4根通用I/O口線(I/O0~ I/O4)中的任意兩根。
(2)軟件包結構設計
TMS320C2XX系列產品,基本包括4根通用I/O口線I/O0~I/O4(由于XF僅能作為輸入口線,BIO僅能作為輸出口線,因而暫不考慮)。它們的輸入輸出方向由ASPCR的低4位來設定,相應口線狀態的設定或讀取由IOSR寄存器控制。但此處DSP與80C51有所不同,口線的輸入輸出狀態不是自動切換的,且ASPCR、IOSR寄存器都不支持位尋址方式,因而在進行I2C總線工作方式模擬時較為繁瑣。為避免所用寄存器其它狀態位的改變,需通過較多的與、或操作來改變指定I/O口線的狀態,因而本軟件包與80C51的虛擬I2C軟件包結構稍有不同。當然,這些均在軟件包內部完成,使用者不必了解具體細節,用戶接口同樣簡單易用。
① 軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數。
(a)時序模擬子程序
Sendb--發送起始標志,啟動I2C總線;senda--發送確認標志;
Sendna--發送非確認標志;Sende--發送結束標志。
(b)操作模擬子程序
geta--接收確認標志;sendd--發送8位數據;
getd--接收1個字節數據。
(c)數據讀寫子程序
wrnbyte--寫入N字節;rdnbyte--讀取N字節。
(d)其它宏及子函數
subsendd--根據標志位C設置模擬數據口線的狀態;toggleclk--切換模擬時鐘口線狀態;
Xdelay--延時子程序;Sdainm--將模擬數據口線A配置為輸入口線;
sdaoutm--將模擬數據口線配置為輸出。
因DSP的工作頻率一般遠高于I2C總線的操作頻率,因而這里需專用的延時子程序降低模擬時鐘口線頻率。本文所給出的源程序為F206采用40 MHz晶振時的情況,用戶使用時可隨實際情況調整延時時間。
② 軟件包符號定義。軟件包中包括如下符號定義:
VSDA、VSCL--分別定義了模擬數據口線和模擬時鐘口線對應的屏蔽位,因DSP中對通用I/O口線的操作不能通過位操作來實現,因而僅能屏蔽位來定義,如采用IO3模擬數據線、IO2模擬時鐘線,則可定義IO3為08h、IO2為04h;
RAM0--為數據暫存用的臨時存儲單元;
RIO--為用于保存I/O口線當前狀態的存儲單元;
SLA--用于保存總線上節點地址并確定傳輸方向的存儲單元;
NUMBYTE--待發送或接收的字節數存儲單元;
MTD--發送數據緩沖區;
MRD--接收數據緩沖區。
以上符號中RAM0、RIO、SLA、NUMBYTE為頁內地址,與當前的頁指針DP內容設置有關;MTD、MRD為絕對地址,與DP內容無關。
③ 資源占用。使用了輔助寄存器AR0、AR1、AR2、AR6、ACC、ASPCR、IOSR等資源。
④ 應用接口。軟件包將wrnbyte、rdnbyte作為唯一的出口接口,用戶僅需正確設置對應儲存單元的內容,調用相應子函數即可:
splk #SLAR/ SLAW,SLA;寫入傳輸節點地址及傳輸方向
splk #N,NUMBYTE ;寫入待傳輸字節數
;若輸出,設置輸出緩沖區內容
call wrnbyte/rdnbyte
3 應用實例
3.1 器件相關功能簡介
X1203是帶時鐘/日歷電路和兩個鬧鐘(報警)的低功耗CMOS實時時鐘芯片。提供了雙埠時鐘和報警寄存器,在讀寫操作期間也能精確工作。其工作電壓從2.5~6 V均可,工作電流小于1uA。時鐘使用低成本的32.768 kHz晶體輸入,以秒、分、時、日、星期、月和年為單位記錄時間,具有閏年自動矯正功能,并對少于31天的月份自動調整;可通過設置中斷標志按指定時間激活中斷引腳,滿足大多數用戶對定時器編程的需要。該芯片引腳結構如圖1所示(SOIC封裝)。
其中SCL為時鐘輸入端,數據隨該時鐘信號同步輸入器件或從器件輸出。此引腳上的輸入緩沖器始終激活。SDA端為雙向引腳,用于串行數據的輸入輸出;具有漏極開路,可與其它漏極開路或集電極開路輸出進行線“或”;需上拉電阻,與SCL引腳配合,可實現400 kHz的2線I2C接口。VBack為備用電源輸入端,用于VCC出現故障時向器件供電。是中斷信號輸出端,可通過設置報警寄存器按指定時間在該端產生報警信號;漏極開路,低電平有效。X1、X2分別為反相放大器的輸入、輸出端;可在X1端接入32.768 kHz的方波基準,或在X1、X2端接入32.768 kHz的石英晶振,配置成片內振蕩器,在初始上電后至少有一個字節寫入RTC寄存器時,時鐘才開始計數。
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。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- I2C模塊arduinoio Simulink軟件包 0次下載
- dsp虛擬i2c總線軟件包的設計方案解析 1次下載
- 基于DSP虛擬I2C總線軟件包的設計分析 0次下載
- 虛擬I2C總線匯編程序軟件包 19次下載
- 基于51的I2c總線 34次下載
- 24系列I2C軟件包使用說明 9次下載
- 基于CPLD的I2C總線接口設計
- I2C總線在Linux系統中的驅動設計
- I2C總線應用中的幾個問題
- i2c總線的特點
- I2C 串行總線技術在DSP 系統中的虛擬實現The Sim
- 模擬I2C總線多主通信的通用軟件包
- 模擬I2C總線多主通信的通用軟件包
- 模擬I2C總線C51程序軟件包
- i2c總線ppt(I2C總線器件應用) 0次下載
- I2C總線協議的工作原理和尋址格式 1127次閱讀
- Linux I2C驅動入門知識科普 1515次閱讀
- i2c總線用來做什么_i2c總線數據傳輸過程 7086次閱讀
- I2C總線驅動的C語言源程序詳細說明 5050次閱讀
- 基于I2C總線應用呼喚平臺模式實現VIIC1.0軟件包的設計 845次閱讀
- 基于DSP虛擬I2C總線軟件包的結構設計 998次閱讀
- 基于MCS-51單片機I2C總線接口電路的設計 3245次閱讀
- I2C總線的工作原理解析 6413次閱讀
- I2C總線的特點與構成詳解 1w次閱讀
- 80C51單片機模擬I2C總線的主機程序分享 3232次閱讀
- I2C總線的特點、控制技術與傳輸分析 9911次閱讀
- i2c總線相關知識 3409次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線 1077次閱讀
- 基于FPGA的I2C SLAVE模式總線的設計方案 1.3w次閱讀
- 虛擬I2C總線串行顯示電路介紹 3364次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多