TMS320F241型DSP的SPI口EEPROM擴展
發(fā)布時間:2007/8/23 0:00:00 訪問次數(shù):434
來源:21IC中國電子網(wǎng) 作者:武漢市濱湖機械廠 徐小莉
摘要:敘述了TI公司的TMS320F241型DSP的串行外設(shè)接口(SPI)擴展EEPROM的軟、硬件實現(xiàn)方法。
關(guān)鍵詞:DSP SPI EEPROM X5043
1.引言
TMS320F241型DSP是目前應(yīng)用比較廣泛的一款定點DSP,它具有20MIPS的指令執(zhí)行速度,強大的內(nèi)部事件管理器、I/O端口和其他外圍設(shè)備。其中,串行外設(shè)接口(SPI)是一個高速同步串行輸入/輸出(I/O)端口,它允許一個具有可編程長度(1到16位)的串行位流,以可編程的位傳送速率從設(shè)備移入或移出。SPI通常用于DSP控制器和外部器件或其它控制器間的通訊。
在開發(fā)DSP系統(tǒng)時,某些情況下會讀取或者存儲一些定值,這時我們就需要擴展EEPROM。具有SPI接口的串行EEPROM均可被TMS320F241直接邏輯擴展,方便易行。X5043是Xicor公司最高時鐘速率為3.3MHz帶有塊鎖保護的4Kbits的CMOS串行EEPROM。該器件內(nèi)部組織陣列是X8位,具有串行外圍接口(SPI)和軟件協(xié)議的特點,允許在簡單的四線總線上工作;該器件利用Xicor專有的直接寫入晶片提供最小為10萬次擦寫和最少100年的數(shù)據(jù)保存期。
2.硬件設(shè)計
X5043與TMS320F241型DSP的連接關(guān)系如圖1所示。DSP作為主控制器,工作于主模式下,SPISIMO為DSP的數(shù)據(jù)發(fā)送端,連接到X5043的數(shù)據(jù)接收端(SI);SPISOMI為DSP的數(shù)據(jù)接收端,連接到X5043的數(shù)據(jù)發(fā)送端(SO);SPISTE配置成I/O口連接到X5043的片選端(/CS);SPICLK為SPI數(shù)據(jù)傳送的時鐘信號,連接到X5043的串行時鐘端(SCK),串行時鐘由DSP控制。DSP的數(shù)據(jù)在SPISIMO引腳上輸出并從SPISOMI上鎖存, DSP通過寫入SPIDAT寄存器的數(shù)據(jù)啟動SPICLK串行時鐘信號從而啟動數(shù)據(jù)傳送,當(dāng)8位串行位流傳送完畢后,SPICLK信號中止,傳送結(jié)束。
3.軟件設(shè)計
3.1工作模式的選擇
TMS320F241的SPI接口有可選擇的四種不同的時鐘模式,如何選擇時鐘模式是它與各種擴展SPI接口器件實現(xiàn)時鐘同步的關(guān)鍵。X5043的數(shù)據(jù)在時鐘下降沿從SO引腳上輸出并在時鐘上升沿從SI引腳上鎖存。讀操作時,在其從SI引腳輸入的最低位地址所對應(yīng)的時鐘下降沿,其SO引腳開始輸出數(shù)據(jù),如圖5所示。
作為主器件的DSP可以選擇 ‘上升沿,無延時’和‘上升沿、有延時’兩種時鐘工作模式!仙,無延時’模式與X5043的工作模式一致,數(shù)據(jù)在SPICLK信號的時鐘上升邊沿(從低電平到高電平)從移位寄存器移出在SI引腳上鎖存,在時鐘下降邊沿(從高電平到低電平)從SO引腳上輸出的數(shù)據(jù)鎖存到移位寄存器中!仙,有延時’模式如圖4所示,數(shù)據(jù)在SPICLK信號上升沿前半個周期從移位寄存器移出,在緊接著的上升邊沿在SI引腳上鎖存,在時鐘下降邊沿(從高電平到低電平)從SO引腳上輸出的數(shù)據(jù)鎖存到移位寄存器中。
3.2波特率的選擇
SPI波特率可以由如下兩種情況計算得出:
(1)對于SPIBRR=3~127,波特率的計算公式為:
SPI波特率=CLKOUT/(SPIBRR+1)
(2)對于SPIBRR=0~2,波特率的計算公式為:
SPI波特率=CLKOUT/4
式中,CLKOUT=器件的CPU時鐘頻率;SPIBRR=主SPI器件中的SPIBRR內(nèi)容。
X5043最大的SPI波特率為3.3MHz,若DSP的CPU時鐘頻率CLKOUT=16MHz,則:
最大的SPI波特率 =16×106/(SPIBRR+1)≤3.3×106Hz
SPIBRR≥4+9
3.3 DSP的數(shù)據(jù)傳輸格式
DSP中SPI有16位的發(fā)送和接收能力,且接收和發(fā)送均是雙緩沖。所有數(shù)據(jù)寄存器都是16位寬的,而X5043的地址、數(shù)據(jù)寄存器均是8位的,將DSP中SPI傳輸字符長度設(shè)置成8位寬。要向X5043存儲數(shù)據(jù)時,DSP將一個8位字節(jié)長度的數(shù)據(jù)寫入SPIDAT或SPITXBUF的高8位上如圖2所示,在時鐘信號的作用下,以左對齊方式發(fā)送,先發(fā)送數(shù)據(jù)的最高位。DSP接收一個8位字節(jié)長度的數(shù)據(jù),是以右對齊方式接收如圖3所示,8位字節(jié)長度的數(shù)據(jù)寫入SPIDAT或SPIRXBUF 的低8位上。
3.4各控制寄存器設(shè)置
LDP #SPICCR>>7
SPLK #0007h,SPICCR
;復(fù)位SPI, 8個字符長度
SPLK #000Eh,SPICTL
;主模式,使能TALK,禁止SPI的中斷
;上升沿發(fā)送,下降沿接收,有延時
SPLK #000Fh,SPIBRR
;設(shè)置SPI的傳輸波特率
SPLK #0087h,SPICCR
;SPI準備好發(fā)送或接收下一字符
3.5程序設(shè)計
RAM塊中的變量定義:
.bss SPI_Xdata,1
;SPI數(shù)據(jù)傳輸暫存器
.bss address1,1
;EEPROM存儲器地址暫存器
.bss data1,1
;EEPROM存儲器數(shù)據(jù)暫存器
X5043存儲器地址:
WREN  
來源:21IC中國電子網(wǎng) 作者:武漢市濱湖機械廠 徐小莉
摘要:敘述了TI公司的TMS320F241型DSP的串行外設(shè)接口(SPI)擴展EEPROM的軟、硬件實現(xiàn)方法。
關(guān)鍵詞:DSP SPI EEPROM X5043
1.引言
TMS320F241型DSP是目前應(yīng)用比較廣泛的一款定點DSP,它具有20MIPS的指令執(zhí)行速度,強大的內(nèi)部事件管理器、I/O端口和其他外圍設(shè)備。其中,串行外設(shè)接口(SPI)是一個高速同步串行輸入/輸出(I/O)端口,它允許一個具有可編程長度(1到16位)的串行位流,以可編程的位傳送速率從設(shè)備移入或移出。SPI通常用于DSP控制器和外部器件或其它控制器間的通訊。
在開發(fā)DSP系統(tǒng)時,某些情況下會讀取或者存儲一些定值,這時我們就需要擴展EEPROM。具有SPI接口的串行EEPROM均可被TMS320F241直接邏輯擴展,方便易行。X5043是Xicor公司最高時鐘速率為3.3MHz帶有塊鎖保護的4Kbits的CMOS串行EEPROM。該器件內(nèi)部組織陣列是X8位,具有串行外圍接口(SPI)和軟件協(xié)議的特點,允許在簡單的四線總線上工作;該器件利用Xicor專有的直接寫入晶片提供最小為10萬次擦寫和最少100年的數(shù)據(jù)保存期。
2.硬件設(shè)計
X5043與TMS320F241型DSP的連接關(guān)系如圖1所示。DSP作為主控制器,工作于主模式下,SPISIMO為DSP的數(shù)據(jù)發(fā)送端,連接到X5043的數(shù)據(jù)接收端(SI);SPISOMI為DSP的數(shù)據(jù)接收端,連接到X5043的數(shù)據(jù)發(fā)送端(SO);SPISTE配置成I/O口連接到X5043的片選端(/CS);SPICLK為SPI數(shù)據(jù)傳送的時鐘信號,連接到X5043的串行時鐘端(SCK),串行時鐘由DSP控制。DSP的數(shù)據(jù)在SPISIMO引腳上輸出并從SPISOMI上鎖存, DSP通過寫入SPIDAT寄存器的數(shù)據(jù)啟動SPICLK串行時鐘信號從而啟動數(shù)據(jù)傳送,當(dāng)8位串行位流傳送完畢后,SPICLK信號中止,傳送結(jié)束。
3.軟件設(shè)計
3.1工作模式的選擇
TMS320F241的SPI接口有可選擇的四種不同的時鐘模式,如何選擇時鐘模式是它與各種擴展SPI接口器件實現(xiàn)時鐘同步的關(guān)鍵。X5043的數(shù)據(jù)在時鐘下降沿從SO引腳上輸出并在時鐘上升沿從SI引腳上鎖存。讀操作時,在其從SI引腳輸入的最低位地址所對應(yīng)的時鐘下降沿,其SO引腳開始輸出數(shù)據(jù),如圖5所示。
作為主器件的DSP可以選擇 ‘上升沿,無延時’和‘上升沿、有延時’兩種時鐘工作模式!仙,無延時’模式與X5043的工作模式一致,數(shù)據(jù)在SPICLK信號的時鐘上升邊沿(從低電平到高電平)從移位寄存器移出在SI引腳上鎖存,在時鐘下降邊沿(從高電平到低電平)從SO引腳上輸出的數(shù)據(jù)鎖存到移位寄存器中!仙兀醒訒r’模式如圖4所示,數(shù)據(jù)在SPICLK信號上升沿前半個周期從移位寄存器移出,在緊接著的上升邊沿在SI引腳上鎖存,在時鐘下降邊沿(從高電平到低電平)從SO引腳上輸出的數(shù)據(jù)鎖存到移位寄存器中。
3.2波特率的選擇
SPI波特率可以由如下兩種情況計算得出:
(1)對于SPIBRR=3~127,波特率的計算公式為:
SPI波特率=CLKOUT/(SPIBRR+1)
(2)對于SPIBRR=0~2,波特率的計算公式為:
SPI波特率=CLKOUT/4
式中,CLKOUT=器件的CPU時鐘頻率;SPIBRR=主SPI器件中的SPIBRR內(nèi)容。
X5043最大的SPI波特率為3.3MHz,若DSP的CPU時鐘頻率CLKOUT=16MHz,則:
最大的SPI波特率 =16×106/(SPIBRR+1)≤3.3×106Hz
SPIBRR≥4+9
3.3 DSP的數(shù)據(jù)傳輸格式
DSP中SPI有16位的發(fā)送和接收能力,且接收和發(fā)送均是雙緩沖。所有數(shù)據(jù)寄存器都是16位寬的,而X5043的地址、數(shù)據(jù)寄存器均是8位的,將DSP中SPI傳輸字符長度設(shè)置成8位寬。要向X5043存儲數(shù)據(jù)時,DSP將一個8位字節(jié)長度的數(shù)據(jù)寫入SPIDAT或SPITXBUF的高8位上如圖2所示,在時鐘信號的作用下,以左對齊方式發(fā)送,先發(fā)送數(shù)據(jù)的最高位。DSP接收一個8位字節(jié)長度的數(shù)據(jù),是以右對齊方式接收如圖3所示,8位字節(jié)長度的數(shù)據(jù)寫入SPIDAT或SPIRXBUF 的低8位上。
3.4各控制寄存器設(shè)置
LDP #SPICCR>>7
SPLK #0007h,SPICCR
;復(fù)位SPI, 8個字符長度
SPLK #000Eh,SPICTL
;主模式,使能TALK,禁止SPI的中斷
;上升沿發(fā)送,下降沿接收,有延時
SPLK #000Fh,SPIBRR
;設(shè)置SPI的傳輸波特率
SPLK #0087h,SPICCR
;SPI準備好發(fā)送或接收下一字符
3.5程序設(shè)計
RAM塊中的變量定義:
.bss SPI_Xdata,1
;SPI數(shù)據(jù)傳輸暫存器
.bss address1,1
;EEPROM存儲器地址暫存器
.bss data1,1
;EEPROM存儲器數(shù)據(jù)暫存器
X5043存儲器地址:
WREN  
熱門點擊
- 新型固體LBCAST
- 多媒體PCI接口控制芯片SAA7146A及其
- 視頻解碼芯片CXA2075M
- SG6931功率因素校正晶片及在LCD-TV
- 適于語音處理的SDA80D51芯片及其數(shù)字錄
- CD-ROM格式數(shù)據(jù)的軟解碼模塊設(shè)計
- 用AC4830xC和TCM38C17實現(xiàn)四路
- 新型數(shù)字CCD相機及其圖像數(shù)據(jù)傳輸卡設(shè)計
- ADSP-TS201S芯片的功能和應(yīng)用
- 基于ADSP21161的比相測距雷達跟蹤控制
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細]
- 分立器件&無源元件選型及工作原
- 新一代“超越EUV”光刻系統(tǒng)參
- 最新品BAT激光器制造工藝設(shè)計
- 新款汽車SoC產(chǎn)品Malibo
- 新芯片品類FPCU(現(xiàn)場可編程
- 電動汽車動力總成系統(tǒng)̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究