|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業 | CAN-bus/DeviceNe |
請教 |
| 作者:Alfred_yan 欄目:技術交流 |
近日遇一簡單問題,卻無法破除玄機,還望大俠們多多指教: 93C46 和 93C66 之間除了(字)架構上不一樣,還有什么地方不一樣呢? 是什么原因導致93C66不能替代93C46呢? 拜托,謝謝! |
| 2樓: | >>參與討論 |
| 作者: Alfred_yan 于 2006/2/21 18:01:00 發布:
我還是不明白 我還是不明白: 我們用的是93C66B和93C46C都是16位字架構,rom不同,就不能用大的rom去替代小的rom嗎,為什么? 資質愚鈍,還望明解! 謝謝! |
|
| 3樓: | >>參與討論 | |
| 作者: tyw 于 2006/2/21 19:51:00 發布:
發個中文資料,對照研究一下差別吧 | ||
關鍵詞:三線制,串行總線,EEPROM,MCS-51 1三線制Microware串行總線 三線制Microware同步串行總線接口是松下半導體公司在其生產的COP系列和HPC系列微控制器上采用的一種串行總線。它使用的三根信號線是數據輸入線SI、數據輸出線SO和時鐘信號線SK。由于三線制Microware總線只需3~4根數據線和控制線即可擴展具有三線制Microware總線的各種I/O器件,而并行總線擴展方法要8根數據線、8~16根地址線和2~3位控制線,因而使用三線制Microware串行總線可以簡化電路設計,提高設計的可靠性。 2具有三線制Microware總線的EEPROM EEPROM是一種可用電氣方法在線擦除和再編程的只讀存儲器,它既有RAM在聯機操作中可讀可改寫的特性,又具有非易失性存儲器ROM在掉電后仍然能保持所存儲數據的優點。93C06/46/56/66是采用CMOS工藝制成的分別為64/128/256/512×8位,或16/64/128/256×16位8引腳的支持三線制Microware串行總線的EEPROM,其自定時寫周期包括自動擦除時間不超過10ms,而MICROCHIP公司的串行EEPROM的擦除和寫入一個字節的時間可縮短到2ms以下,擦除/寫入周期壽命一般都已達到10萬次以上,有的產品(如NS和MICROCHIP的產品)可達到100萬次,片內寫入的數據保存壽命在40年以上,采用單一電源+5V供電,低功耗工作電流400μA,備用時為25μA,三態輸出,與TTL電平兼容。 NM93C06/46/56/66是松下半導體公司的產品,與其兼容的有MICROCHIP公司的93C06/46/56/66(4.5V~5.5V)、93LC/46/56/66(2.0V~6.0V)、93AA06/46/56/66和ATMEL公司的AT93C46/56/66,其封裝形式如圖1。 ![]() 引腳說明:CS:片選信號;SK:串行時鐘輸入信號,是微處理器與EEPROM之間通信的同步信號,數據在它的上升沿鎖定有效; DI:數據輸入; DO:數據輸出; ORG:MICROCHIP公司產品特有引腳,接Vcc時內部存儲組織結構是16位為一個單元,接GND時內部存儲組織結構是8位為一個單元。 芯片有7種指令,指令集的安排見表1。表1 ![]() 注意:在操作碼為00時,為了區分不同指令,借用地址的前兩位來識別。此外還有整片寫指令(WRAL-Write All)和整片擦除指令(ERAL-EraseAll)。 不同型號的EEPROM有不同的存儲空間,93C66有512字節的存儲空間,其地址為A8…A0,在編程時A8可以作為操作指令字節的最后一位,如:讀93C66中某個存儲單元(8位)中的數據,讀指令0000110A8,地址碼××××××××,如果A8為0,則地址00H…FFH,如果A8為1,地址為100H…1FFH。而93C06/46/56的存儲空間不超過256個字節,A8始終為0。 有關93C06/46/56/66的具體操作時序見參考文獻〔1〕。 3三線制Microware總線EEPROM在MCS┐51單片機上的運用 串行EEPROM技術是一種非易失性存儲器技術,它是嵌入式控制解決方案中的先進技術,在MCS-51單片機應用系統中可用于數據的掉電保護、可在線設置參數的存儲、用戶在線可編程查表法中的表格存儲、微控制器I/O線較少情況下的應用等等場合。 MCS-51系列單片機沒有三線制Microware串行總線接口,它與93C06/46/56/66等具有三線制Microware串行總線的EEPROM連接時,要使用軟件來模擬三線制Microware串行總線的操作,包括串行時鐘、數據輸入、數據輸出。圖2為串行EEPROM AT93C66與AT89C51單片機的硬件連接圖,R為上拉電阻,AT89C51的P1.0模擬AT93C66的片選端CS,P1.1模擬AT93C66的時鐘輸入端SK,P1.2模擬它的數據輸入端DI,P1.3模擬數據輸出端DO(DI和DO也可以連接在一起)。當在時鐘的上升沿第一次檢測到CS和DI都為高電平時,啟動AT93C66。寫操作時,AT89C51的P1.1由低變高,產生一個脈沖,在脈沖的上升沿將1位數據(先為高位)從P1.2輸出到AT93C66中,清P1.1為0,再置P1.1為1,P1.2又輸出1位數據……依次循環8次,AT89C51完成1個字節的輸出操作。寫入周期完成后,P1.0由高變低,并保持最少100ns后變為高電平,這時93C66的DO線用來表示芯片的狀態,DO為1表示數據已寫入指定的地址中,為0則表示正在編程,AT89C51可以查詢P1.3的狀態來決定是否繼續操作。讀操作時,P1.1由低變高,AT89C51經P1.3從AT93C66讀入1位數據,循環8次,讀入1個字節。根據操作時序可以寫出AT90C51與93C66連接時的操作程序。 ![]() 模擬三線制Mircroware串行總線的操作源程序。根據AT93C66的指令集,規定如下指令格式: 指令格式:00001××A8,其中1為起始位,××為操作碼,A8為第9位地址碼; 讀指令(READ):00001100,即0x0c(如果對93C66的100H…1FFH地址空間操作,則指令最后一位為1,寫和擦除指令均如此); 寫指令(WRITE):00001010,即0x0a; 擦除指令(ERASE):00001110,即0x0e; 擦/寫允許指令(EWEN):0000100110000000,即0x0980,該指令分兩次寫入; 本程序用C51語言編寫(不包括整片寫和擦除功能) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | ||
* - 本貼最后修改時間:2006-2-21 20:08:32 修改者:tyw
| 4樓: | >>參與討論 | ||||||||
| 作者: tyw 于 2006/2/21 20:12:00 發布:
讀指令時46操作碼是6位,66操作碼是8位 讀指令時序(93C46) 發送到器件的所有指令的格式為:一個高電平“1”的起始位,一個2位(或4位)的操作碼,6位(93C46)/7位(93C57) /8位(93C56或93C66) /10位(93C86) (當選擇×8位結構時加一位) 及寫入數據時的16位數據域(選擇8位結構時為×8位)。
* - 本貼最后修改時間:2006-2-21 20:16:47 修改者:tyw |
|||||||||
| 5樓: | >>參與討論 |
| 作者: Alfred_yan 于 2006/2/22 8:26:00 發布:
非常感謝,這下我徹底明白了! 非常感謝,這下我徹底明白了! 謝謝! |
|
|
|
Copyright © 1998-2006 m.nhznwl.cn 浙ICP證030469號 |