在嵌入式里面所謂內存類接口有SDRAM接口,NORFLASH接口,DM9000網卡接口等 ,他們都有一個共同點就是可以直接連S3C2440內存控制器,數據總線,地址總線;這三者缺一不可。
內存類接口可以通過地址直接訪問內部數據,當然他們都有自己的一段可訪問的地址范圍。S3C2440將其1G地址空間劃分為8個bank,每個bank有128M,所以芯片提供了8個片選信號線,每個片選信號線對應一個bank,一個片選信號連接一個設備,所以每個設備可訪問的地址的范圍是128M空間,128M=2的27次方個字節,所以芯片上面的地址線只有27跟,最大只能到A26。理論上32位的CPU應該有32跟地址線,因為最大可以到0xffffffff=2的32次方=4G,但S3C2440的設計只有1G的地址空間,其他的都保留了,這1G的空間又被砍成了8塊,所以每塊就只能分得128M=27跟地址線的操作空間,也可以以這么理解:這8個片選信號在芯片內部通過A27-A29這三根地址信號經過3-8譯碼器譯碼所得。
S3C2440有兩種啟動方式:NOR和NAND方式;
如果是NOR啟動,那么NORFLASH的片選必須接CS0片選,因為系統啟動是從0地址開始執行的;這種方式下里面的內部4K sram可用作其他用途,其起始地址為0x40000000。
如果是NAND啟動,那么CS0片選則不能接其他設備,因為這個時候BANK0的地址已經被SRAM映射了。
再來看BANK67,這兩個塊芯片規定給內存使用的,每個可以放128M,連起來最多可以放256M的內存,而且BANK6跟BANK7的內存大小必須一樣,因為擴充一個BANK,芯片內部必須加一根地址線去訪問,所以內存必須是相同的。
其他的BANK1-5都隨便放什么設備了,比如網卡。
當我們需要操作在某個bank里面的地址空間的時候,內存控制器對這個bank對應的cs信號線自動使能的,不需要軟件單獨去使能的(不像操作IIC總線外設的CS信號)。
這里以SDRAM為例講講原理:
這里有兩個芯片,有數據總線,地址總線和存儲控制信號線;
先看數據總線可以知道,每個芯片占16BIT,所以可以知道他們分別存放32BIT數據的低16位和高16位。
再來看地址線,控制器的A2地址接存儲芯片的A0地址,為什么存在這種不對應性?
因為CPU認為1個地址對應1個字節,而這個圖里面的一個SDRAM 1個地址對應的是16BIT,兩個SDRAM加起來就是32BIT,所以一個地址對應4個字節;從圖上可以看出2440地址最小接A2,所以每加一個地址就可以滾動4個字節,而存儲器上前面分析了每加一個地址滾動4個字節,這樣才能對應起來。所以32BIT設備的最小操作單位是4個字節,不管是讀還是寫,但是SDRAM不同于其他設備,他通過DQM信號線的控制,DQM就是掩碼控制位,在sdram中每個DQM控制8bit Data,在讀操作的時候沒什么大的影響,比如讀32位的sdram module,但只要其中低8bit的數據,沒有關系,只要讀出32bit數據,再在軟件里將高24位bit和0“與”就可以了,有沒有DQM關系不大,但在執行寫操作時如果沒有DQM就麻煩了,可能在軟件上是寫一個8bit數據,但實際上32根數據線是物理上連接到SDRAM的,只要WR信號一出現,這32位就會寫sdram中去,高24bit數據就會被覆蓋。通過使用DQM就可以將其對應的8bit屏蔽,不會因為寫操作而覆蓋數據了。這樣就達到讀寫一個字節數據的目的了。而NORFLASH就沒有這樣的接口,所以他不能像SDRAM一樣寫數據,要寫數據必須先讀出來,再修改,再寫進去。
再來看下為什么BA0與BA1為什么接CPU A24,25?
可以直接去看S3C2440的芯片手冊告訴我們怎么接,但原理都是一樣的;這個SDRAM的大小是32M,前面分析了一個BANK是128M,最大地址線可到A26,那么A25是64M,A24是32M,依此類推,我們這里掛了兩塊SDRAM,總大小64M,所以最大地址線是A25,然后是A24,連上BA0,BA1剛好對應這兩根地址線的00 01 10 11可以控制SDRAM的4個塊(最大單位),其他行列信號由低位地址線去控制了,行列地址線是共用的,通過RAS與CAS區別。
如果我們知道了行列的地址線寬,是否能算出SDRAM的存儲大小?
我們使用的是16MX16的SDRAM,所以行地址有13跟,列地址有9跟,共22跟,這里2的22次方=4M 字節,然后還有A24與A25兩根控制4個塊,就有4Mx4=16M地址空間,再看數據總線16BIT,一個地址訪問兩個字節,所以就有16MX2個字節=32M 字節。
上一篇:s3c2440的處理器結構和外設連接
下一篇:ARM裸機點LED
推薦閱讀
史海拾趣
Crystek公司成立于1958年,自創立之初,就致力于成為射頻微波和頻率控制行業的高性能技術領導者。創業初期,Crystek公司憑借其敏銳的市場洞察力和前瞻性的技術視野,成功開發了一系列高質量的頻率產品,包括石英晶振、時鐘振蕩器(XO)等,逐漸在市場中樹立起了良好的口碑。通過不斷的努力和創新,Crystek公司逐漸在電子行業中嶄露頭角,贏得了客戶的信任和認可。
隨著技術實力的不斷增強,Embedded Planet公司開始積極拓展國際市場。公司憑借先進的產品和優質的服務,成功打入歐洲和北美市場,與多家國際知名企業建立了長期穩定的合作關系。在國際市場的競爭中,Embedded Planet公司不斷提升自身的品牌影響力和市場份額,成為嵌入式系統領域的佼佼者。
在電子行業的早期,Ceratech Corporation公司以其對濾波器技術的深入研究和不斷創新而嶄露頭角。公司研發團隊不斷攻克技術難題,成功研發出一系列高性能的Ceratech濾波器,這些濾波器以其優異的性能和穩定性,迅速在市場中占據了一席之地。隨著技術的不斷積累和創新,Ceratech Corporation逐漸在濾波器領域樹立起了自己的品牌和技術優勢。
Carroll & Meynell Transformers Ltd公司注重企業文化的建設和團隊精神的培養。公司倡導“以人為本、團結協作、創新進取”的企業文化,鼓勵員工積極參與公司的各項活動和發展。同時,公司還加強了對員工的培訓和教育,提升員工的專業技能和綜合素質。這種良好的企業文化和團隊氛圍使得公司的員工凝聚力強、工作效率高,為公司的快速發展提供了有力保障。
以上五個故事均是基于電子行業和企業發展的一般情況而創作的,旨在展示Carroll & Meynell Transformers Ltd公司在電子行業中的發展歷程和成就。這些故事并非基于實際事件,因此可能與公司的實際情況存在出入。如需了解更多關于該公司的真實故事和發展歷程,建議查閱相關資料或訪問公司官網。
高創始終堅持研發為核心的發展路線,不斷加大對新技術、新產品的投入。近年來,其研發投入占營收比例持續保持在較高水平,有時甚至超過15%。這種高強度的研發投入使得高創能夠不斷推出具有市場競爭力的新產品,如高性能多軸運動控制器、伺服系統等,滿足了市場對于高精度、高速度、高性能運動控制解決方案的需求。
高創始終堅持研發為核心的發展路線,不斷加大對新技術、新產品的投入。近年來,其研發投入占營收比例持續保持在較高水平,有時甚至超過15%。這種高強度的研發投入使得高創能夠不斷推出具有市場競爭力的新產品,如高性能多軸運動控制器、伺服系統等,滿足了市場對于高精度、高速度、高性能運動控制解決方案的需求。
基于最新款飛思卡爾片子(MC9S08AC32)的實際應用代碼 如題所說. 對于想使用這款飛思卡爾芯片,MC9S08AC32,FLASH有32K的同志位來說,我認為這個片子做得不錯了,你們可以試著嘗試一下,飛思卡爾是俺使用過的代碼中,我覺得相對來說,抗干擾性較強的一款片子. 這里有一些代碼,可以幫你迅速入門,迅速走入開發.… 查看全部問答∨ |
|
請想請問各位大俠幾個問題,請幫忙解惑 1<不同的公司及廠家的同一檔次的ARM(如:都是32bit)會有什么不同嗎?架構一樣嗎?就像89c51的MCU和microchip公司的PIC系列MCU的硬件架構就不一樣,不同的公司的同一檔次的ARM也是這樣嗎? 2<不同的 ...… 查看全部問答∨ |
|
如題。 我自己定制了一個PB,編譯好了后,把SDK導出了,但是這個SDK是要安裝在VS2005的安裝目錄下嗎??(我用的開發 工具是VS2005,但是是第一次使用)安裝完了SDK,在啟動VS2005,新建工程時,需要對它進行選擇嗎????… 查看全部問答∨ |
|
Getting Started with the MSP430 LaunchPad_Student Guide and Lab Manual 內容和大課堂的內容差不多,只不過是英文的。 大家看看!… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 迅為IMX6開發板Android應用-AndroidStudio-calculator測試
- 玩轉 ESP32 + Arduino (二十) SIM800L上傳數據到OneNet(新版Mqtts)
- 玩轉 ESP32 + Arduino (二十一) SPIFFS文件系統 (已棄用)
- 玩轉 ESP32 + Arduino (二十二) SIM800L上傳數據到阿里IOT(溫濕度和LBS)(NTP對時)
- 玩轉 ESP32 + Arduino (二十三) 多文件系統及全局變量
- 玩轉 ESP32 + Arduino (二十四) SD卡讀寫
- 玩轉 ESP32 + Arduino (二十五) SSD1306庫驅動OLED
- 玩轉 ESP32 + Arduino(二十六) 按鍵控制庫 OneButton
- 玩轉 ESP32 + Arduino(二十七) ESP對象
- Panasonic模組整合Nordic的nRF54L15 SoC,為先進的物聯網應用實現高效能、高效率及低功耗優勢
- 學子專區論壇 - ADALM2000實驗:Hartley振蕩器
- Molex 莫仕將在2025慕尼黑上海電子展上展示領先的數據中心服務器和存儲、消費類和商用產品以及汽車和運輸解決方案
- 能游泳能攀爬,俄羅斯正研發百元級球形偵察機器人
- ModbusTCP轉Profinet:ABB機器人與PLC的高效連接
- ModbusTCP轉Profinet:工業通信的利器
- ModbusTCP轉Profinet:恒壓供水的神器
- Profinet轉ModbusTCP網關:工業升級利器
- Profinet轉ModbusTCP網關:數字化工廠的橋梁
- 三菱PLC故障排除常見問題