日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]在嵌入式系統(tǒng)中,采用EEPROM芯片AT25010進(jìn)行數(shù)據(jù)的保存.使用TMS320F2812的SPI總線(xiàn)模塊實(shí)現(xiàn)了對(duì)外部擴(kuò)展的EEPROM進(jìn)行數(shù)據(jù)寫(xiě)入和讀取的操作;給出了AT25010和TMS320F2812的硬件接口電路;數(shù)據(jù)操作采用了C語(yǔ)言編程,給出了主程序.接口初始化等的流程圖.通過(guò)實(shí)驗(yàn)驗(yàn)證了設(shè)計(jì)方案的適用性和正確性.

0 引言

EEPROM(Electrically Erasable ProgrammableRead-Only Memory電可擦可編程只讀存儲(chǔ)器),是一種掉電后數(shù)據(jù)不丟失的存儲(chǔ)芯片.在實(shí)際應(yīng)用中,為了保持程序能夠統(tǒng)一,又必須在程序中使用不同的參數(shù),可以使用EEPROM進(jìn)行擴(kuò)展存儲(chǔ),將需要使用的數(shù)據(jù)存儲(chǔ)在EEPROM中.當(dāng)系統(tǒng)上電開(kāi)始工作時(shí),首先從EEPROM中讀取參數(shù),然后執(zhí)行應(yīng)用.本文采用了ATMEL公司的EEPROM存儲(chǔ)器AT25010及TI公司推出的2000系列DSP TMS320F2812,很好地實(shí)現(xiàn)了數(shù)據(jù)的擦寫(xiě)和存儲(chǔ).AT25010采用了標(biāo)準(zhǔn)的SPI總線(xiàn)接口,所以與DSP經(jīng)過(guò)簡(jiǎn)潔的設(shè)計(jì)連接后即可實(shí)現(xiàn)硬件連接.

1.AT25010介紹

AT25010是ATMEL公司推出的串行外設(shè)接口可擦寫(xiě)存儲(chǔ)器,具有1KB(128*8)字節(jié)容量和掉電后數(shù)據(jù)保持功能,主要用于低電壓和低功耗應(yīng)用中.

2.TMS320F2812的SPI接口介紹

TMS320F2812是TI公司推出的32位的定點(diǎn)DSP,主要應(yīng)用于控制領(lǐng)域.DSP主頻可以通過(guò)軟件進(jìn)行設(shè)置,最高可以達(dá)到150MHz,內(nèi)部集成了豐富的資源,可以大大簡(jiǎn)化外圍電路的設(shè)計(jì).

TMS320F2812的串行外設(shè)接口(SPI)是一個(gè)高速同步的串行輸入/輸出口,通信速率和通信數(shù)據(jù)長(zhǎng)度都是可編程的,通常用于DSP處理器和外部外設(shè)以及其他處理器之間進(jìn)行通信.

SPI接口有一個(gè)16級(jí)的接收和傳輸FIFO,可以減少工作時(shí)CPU的開(kāi)銷(xiāo).

3.硬件設(shè)計(jì)

為了使D S P能夠從E E P R O M中正確寫(xiě)入和讀出數(shù)據(jù), 需要對(duì)硬件進(jìn)行正確的設(shè)置.

TMS320F2812處理器SPI模塊有4個(gè)外部引腳,分別是SPI從輸出/主輸入引腳SPISOMI.SPI從輸入/主輸出引腳SPISIMO.SPI從發(fā)送使能引腳SPISTE.SPI串行時(shí)鐘引腳SPICLK.AT25010與TMS320F2812的硬件接口電路如圖1示所.圖1中將DSP的SPISTE引腳與AT25010的片選信號(hào)引腳CS相連,使DSP能控制是否選通芯片;DSP的SPISOMI引腳與A T 2 5 0 1 0的數(shù)據(jù)輸出引腳S O相連,接收AT25010發(fā)送的數(shù)據(jù);DSP的SPISIMO引腳與AT25010的數(shù)據(jù)輸出引腳SI相連,向AT25010發(fā)送數(shù)據(jù);DSP的SPICLK引腳與AT25010的串行時(shí)鐘引腳SCK相連,向AT25010提供時(shí)鐘信號(hào),使其能夠與DSP保持同步.AT25010芯片寫(xiě)保護(hù)引腳WP(Write Protect)控制是否能夠?qū)ζ鋵?xiě)入數(shù)據(jù).當(dāng)將此引腳置高電平時(shí),DSP可以對(duì)AT25010芯片寫(xiě)入或者讀取數(shù)據(jù);當(dāng)將此引腳置低電平時(shí),DSP只能對(duì)AT25010芯片進(jìn)行讀取數(shù)據(jù)的操作,而不能對(duì)其寫(xiě)入數(shù)據(jù).電路設(shè)計(jì)時(shí)將AT25010的WP引腳通過(guò)電阻拉高.

 

 

4.軟件設(shè)計(jì)

在D S P開(kāi)始對(duì)A T 2 5 0 1 0進(jìn)行數(shù)據(jù)寫(xiě)入和讀取之前, 按照設(shè)計(jì)要求進(jìn)行初始化.對(duì)TMS320F2812的設(shè)置:首先關(guān)閉可屏蔽中斷,設(shè)置中斷屏蔽寄存器,開(kāi)啟系統(tǒng)SPI時(shí)鐘使能,允許SPI串行外設(shè)接口正常工作.其次,DSP采用發(fā)送數(shù)據(jù)的方式對(duì)AT25010進(jìn)行初始化,當(dāng)DSP需要對(duì)AT25010寫(xiě)入數(shù)據(jù)時(shí),向AT25010發(fā)送寫(xiě)入控制指令,并控制時(shí)鐘同步信號(hào)和片選使能信號(hào),向指定的地址寫(xiě)入數(shù)據(jù);當(dāng)DSP需要對(duì)AT25010讀取數(shù)據(jù)時(shí),向AT25010發(fā)送讀取數(shù)據(jù)的控制指令,從指定地址中讀取數(shù)據(jù).

4.1 SPI初始化

初始化SPI模塊,需要打開(kāi)系統(tǒng)的SPI使能寄存器,設(shè)置SPI的波特率,配置SPI數(shù)據(jù)發(fā)送模塊寄存器.數(shù)據(jù)接收模塊寄存器.狀態(tài)控制寄存器和FIFO寄存器,滿(mǎn)足正常系統(tǒng)工作要求.

4.2 AT25010設(shè)置

當(dāng)DSP需要讀取AT25010指定地址的數(shù)據(jù)時(shí),必須按照以下順序.在片選引腳CS拉低選中AT25010芯片后,“讀指令”必須首先發(fā)送至AT25010,然后發(fā)送地址數(shù)據(jù).如果DSP讀取數(shù)據(jù)完畢,片選引腳CS拉高為高電平.

當(dāng)DSP當(dāng)DSP需要向AT25010指定地址寫(xiě)入數(shù)據(jù)時(shí),也必須按照一定的順序執(zhí)行.首先必須確認(rèn)寫(xiě)保護(hù)引腳WP是高電平,然后確認(rèn)被寫(xiě)入的地址沒(méi)有被鎖定.寫(xiě)入數(shù)據(jù)時(shí),DSP首先向AT20501發(fā)送寫(xiě)使能信號(hào)WREN.然后才能執(zhí)行寫(xiě)操作.在片選引腳CS拉低選中AT25010芯片后,8位的地址和8位的數(shù)據(jù)分別被DSP發(fā)送到AT25010芯片,對(duì)指定地址寫(xiě)入數(shù)據(jù).對(duì)AT25010芯片設(shè)置后,可以進(jìn)行頁(yè)寫(xiě)入,可一次寫(xiě)入大量數(shù)據(jù),節(jié)省系統(tǒng)資源.[!--empirenews.page--]

4.3 程序設(shè)計(jì)

讀取數(shù)據(jù)的程序設(shè)計(jì)架構(gòu)如下:

SpiaRegs.SPITXBUF=0×0300;//發(fā)送讀取指令SpiaRegs.SPITXBUF=(Addr《8);//發(fā)送需要讀取數(shù)據(jù)的地址位SpiaRegs.SPITXBUF=0×0000;//發(fā)送一位空指令val=SpiaRegs.SPIRXBUF;//讀取指定地址的數(shù)據(jù)讀取數(shù)據(jù)的程序設(shè)計(jì)架構(gòu)如下:

SpiaRegs.SPITXBUF=0×0200;//發(fā)送寫(xiě)入指令SpiaRegs.SPITXBUF=(Addr《8);//發(fā)送需要寫(xiě)入數(shù)據(jù)的地址位SpiaRegs.SPITXBUF=(Data《8);//發(fā)送需要寫(xiě)入數(shù)據(jù)的數(shù)據(jù)SpiaRegs.SPITXBUF=0×0400;//WRDI5.數(shù)據(jù)寫(xiě)入和讀取實(shí)驗(yàn)。

如圖2 .

 

 

編寫(xiě)軟件代碼,進(jìn)行DSP對(duì)AT25010寫(xiě)入和讀取數(shù)據(jù)的實(shí)驗(yàn).

由于AT25010是1KB的存儲(chǔ)器,DSP最多只能向AT25010寫(xiě)入128個(gè)8位數(shù)據(jù).在軟件中設(shè)置一個(gè)9位的數(shù)組,分別賦值由0×11至0×99,地址使用0-8共9個(gè)地址位.DSP采用循環(huán)發(fā)送的方式,將數(shù)組中的數(shù)據(jù)發(fā)送到存儲(chǔ)芯片中.

然后DSP進(jìn)行讀取操作,從存儲(chǔ)芯片的地址位中讀出數(shù)據(jù),寫(xiě)入到另一個(gè)數(shù)組中并對(duì)讀取和寫(xiě)入的數(shù)據(jù)進(jìn)行比較,檢驗(yàn)數(shù)據(jù)是否正確.結(jié)果如圖3所示.

 

 

由圖3可以看出,讀取和寫(xiě)入的數(shù)據(jù)完全一致.對(duì)于使用數(shù)據(jù)量較大的系統(tǒng),可以更換容量更大的存儲(chǔ)器,使用文中的硬件設(shè)計(jì)和程序設(shè)計(jì),同樣可滿(mǎn)足需求.

6.結(jié)語(yǔ)

本設(shè)計(jì)使用DSP芯片自帶的SPI接口進(jìn)行硬件設(shè)計(jì),節(jié)省了設(shè)計(jì)時(shí)間,降低了電路設(shè)計(jì)的復(fù)雜度,實(shí)現(xiàn)了對(duì)系統(tǒng)掉電以后數(shù)據(jù)的存儲(chǔ),并可解決由于數(shù)據(jù)不同造成的程序一致性的問(wèn)題.此設(shè)計(jì)滿(mǎn)足了系統(tǒng)的要求,適用于各種需要掉電后保存數(shù)據(jù)的嵌入式系統(tǒng).

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉