簡介
RAM是計(jì)算機(jī)系統(tǒng)中保存臨時(shí)結(jié)果的器件,它的大小也決定了計(jì)算機(jī)處理數(shù)據(jù)的規(guī)模。在嵌入式計(jì)算機(jī)(單片機(jī)中),由于受到價(jià)格、功耗等原因,內(nèi)部的RAM的容量往往比較小,比如從幾百字節(jié)到十幾k字節(jié)不等。這能夠滿足大部分單片機(jī)應(yīng)用的需求了。
但是在一些特殊的應(yīng)用情況下,有時(shí)需要大容量的RAM來存儲采集到的數(shù)據(jù),或者緩存通信數(shù)據(jù)。此時(shí)則需要通過外擴(kuò)內(nèi)存來完成。比如最近實(shí)驗(yàn)聲音信標(biāo)信號[1]相關(guān)系統(tǒng)測試和算法優(yōu)化,則需要采集到多路音頻信號。此時(shí)需要通過外擴(kuò)RAM來解決。
通常靜態(tài)RAM芯片接口包括有數(shù)據(jù)、地址和控制總線,與單片機(jī)對應(yīng)的端口相連便可以加成數(shù)據(jù)的寫入和讀出。
有的單片機(jī)在擴(kuò)展外部RAM的時(shí)候,為了節(jié)省有限的IO端口,通過使用外部鎖存器來復(fù)用同一八位地址端口來擴(kuò)展地址總線到16位的目的。比如8051單片機(jī)。這樣設(shè)計(jì)的代價(jià)就是需要增加外部鎖存器芯片74LS372。
雖然數(shù)據(jù)總線和地址總線按照邏輯都標(biāo)有數(shù)據(jù)位的順序:比如16位地址總線按照A0~A15,8位數(shù)據(jù)總線表明D0-D7。但是在訪問靜態(tài)RAM的時(shí)候,數(shù)據(jù)總線,地址總線內(nèi)部的這些位的順序是可以任意調(diào)整的。
比如在下面設(shè)計(jì)的單片機(jī)系統(tǒng)中,為了滿足能夠盡量減少PCB布線的交叉,就是通過調(diào)整數(shù)據(jù)線和地址總線內(nèi)部位的順序來滿足的。
擴(kuò)展STC8H8K外部32k字節(jié)RAM
1. 設(shè)計(jì)說明
STC8H8K單片機(jī)具有16路12位的AD轉(zhuǎn)換器,在本實(shí)驗(yàn)中用于采集信標(biāo)發(fā)出的Chirp聲音,并傳送給計(jì)算機(jī)加以處理。
在博文“基于STC8G8K64U三通道高速ADC采集板[2]"給出了利用STC8H8K內(nèi)部的8kRAM進(jìn)行聲音信號采集電路設(shè)計(jì)方案。但是受限于內(nèi)有8KRAM的空間限制,所能夠采集音頻信號的路數(shù)和時(shí)間長度都無法滿足研究的目的。所以此次通過外部擴(kuò)一片32k字節(jié)的SRAM來擴(kuò)展信號采集的容量。
同樣通過WiFi-UART轉(zhuǎn)換模塊,實(shí)現(xiàn)采集數(shù)據(jù)與PC機(jī)之間的數(shù)據(jù)傳送,這一點(diǎn)設(shè)計(jì)與前面博文中的設(shè)計(jì)方案是一致的。
2. 原理圖
所使用的STC8H8K芯片的封裝為TSOP48。使用P2端口作為數(shù)據(jù)總結(jié),使用P0,P4端口作為地址總線。不需要外部的鎖存器。
使用UART3與WiFi-UART模塊通信。將ADC中的AD0~AD2引到輸入端口接收外部被采集的信號。
具體的電路圖如下圖所示:
外部接口設(shè)計(jì):
(1) ISP端口:
序號 | 符號 | 功能 |
---|---|---|
1 | VCC | +5V工作電源 |
2 | GND | 工作電源地 |
3 | TXD | MCU串口輸出 |
4 | RXD | MCU串口輸入 |
(2) ADC端口:
序號 | 符號 | 功能 |
---|---|---|
1 | ADC0 | ADC通道0 |
2 | ADC1 | ADC通道1 |
3 | ADC2 | ADC通道2,可以作為普通IO |
2. PCB板
這里需要需要說明的是,為了能夠適應(yīng)快速制版的實(shí)驗(yàn)需要。使用了單面PCB板工藝。為了消除在布線中的交叉部分(因?yàn)榻徊娌糠謩t需要過孔和雙面布線),對數(shù)據(jù)總線和地址總線的順序進(jìn)行了調(diào)整,由此可以僅僅使用一面PCB便將所有的數(shù)據(jù)和地址總線完成連接。
下面給出了具體的PCB連接方式。前面原理圖中顯示了調(diào)整后(總線錯(cuò)亂)的地址線和數(shù)據(jù)線的邏輯設(shè)計(jì)。
在實(shí)際電路設(shè)計(jì)工程中,有的時(shí)候?yàn)榱朔奖悴季€,需要對引線的順序進(jìn)行調(diào)整。在復(fù)雜電路設(shè)計(jì)中,優(yōu)勢會(huì)通過FPGA、CPLD等大規(guī)??删幊踢壿嬈骷韺π酒獠恳€的順序進(jìn)行調(diào)整,方便進(jìn)行布線。當(dāng)然這也需要付出設(shè)計(jì)的復(fù)雜度和額外增加的芯片價(jià)格。
硬件調(diào)試
1. 擴(kuò)展RAM實(shí)驗(yàn)
通過設(shè)計(jì),電路板腐蝕、焊接與安裝,很快得到實(shí)驗(yàn)電路。下面對其進(jìn)行測試。
STC8H單片機(jī)硬件編程選項(xiàng)配置如下:
單片機(jī)工作的主要指標(biāo):
-
內(nèi)部工作主頻:40MHz -
ISP UART1 波特率:500000bps; -
WiFI-UART波特率:460800bps
(1)訪問外部RAM時(shí)間長度
使用MCU的端口來測量訪問外部RAM的時(shí)間,下面是測量寫入外部RAM的時(shí)間,為534ns(包括對FLAG_PIN的操作時(shí)間。)
ON(FLAG_PIN);
ExtSramWrite(0x0, 0x0);
OFF(FLAG_PIN);
使用相同的方法,測試 ExtRamRead()的時(shí)間為490ns。
2. AD轉(zhuǎn)換實(shí)驗(yàn)
(1)AD的通道設(shè)置:
使用了P1.0, P1.1 來采集兩路外部模擬信號。
(2)AD轉(zhuǎn)換時(shí)間:
-
AD參數(shù)設(shè)置:STC8H內(nèi)部轉(zhuǎn)換啟動(dòng) -
AD轉(zhuǎn)換時(shí)間:通過ADC2(P1.4)輸出脈沖來測量。 -
測量結(jié)果:兩次ADC轉(zhuǎn)換,時(shí)間為5微秒;
ON(FLAG_PIN);
ADCSetChannel(0);
g_nADResult1 = ADCConvert();
ADCSetChannel(1);
g_nADResult2 = ADCConvert();
OFF(FLAG_PIN);
采集實(shí)際信號
1. 采集兩路測試信號
下圖顯示了采集兩路測試信號的波形:
2. 采集Chirp音頻信號
采集兩路分別來自于調(diào)頻接收模塊以及麥克風(fēng)傳感器的Chirp信號并求取它們的相關(guān)信號,來判斷時(shí)間延遲。
下圖是采集到的聲音信號,長度為0.8192秒。包含了兩個(gè)Chirp信號周期的數(shù)據(jù)。
公眾號留言
卓大大,實(shí)話實(shí)說,這次比賽實(shí)在是太太太太太趕了,學(xué)校大概六月初左右返校,然后還要準(zhǔn)備期末考試。我們隊(duì)伍參加的是直立節(jié)能組。別的組別或許還可以在沒有儀器的情況下就把車做出來,但是我們是萬萬不可能的。充電板和車模一旦有一點(diǎn)問題更正周期是以周計(jì)算的,按照以往學(xué)長的進(jìn)度,正常比賽留給軟件調(diào)試的時(shí)間也不過就是半個(gè)月左右,現(xiàn)在準(zhǔn)備時(shí)間壓縮到兩個(gè)月,這次規(guī)則的軟件又比以往都要難一些,感覺除非開學(xué)之后每天通宵,不然實(shí)在是不能確保小車的穩(wěn)定性。
求大大考慮考慮節(jié)能的兄弟們。
回復(fù):現(xiàn)在,我只能說:兄弟們加油。
卓老師好,深夜打擾。請問這款芯片可以在信標(biāo)組中使用,還是說只要涉及到控制的微處理器都要用infineon的呢?
回復(fù):這款芯片如果只是專用于電機(jī)驅(qū)動(dòng)設(shè)計(jì),不參與其它運(yùn)動(dòng)控制,是可以應(yīng)用到信標(biāo)組別的。
卓老師,我聽說了一種想法,有些同學(xué)在群里討論用1064自制openmv,事實(shí)上偷偷用1064跑信標(biāo),我雖然沒有驗(yàn)證過可行性,但是不希望有這種想法傷害到比賽的公平性,也不愿意看到openmv因此而被禁止,所以也跟卓大提及一下這種想法。
再提出一個(gè)建議:音標(biāo)比賽只允許使用成品openmv
回復(fù):謝謝你反映的這種情況,以及提出的建議。
參考資料
聲音信標(biāo)信號: https://blog.csdn.net/zhuoqingjoking97298/category_9689868.html
[2]基于STC8G8K64U三通道高速ADC采集板: https://zhuoqing.blog.csdn.net/article/details/105731860
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!