- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
i2c汇流排-at24cxx eeprom存取
I2C匯流排-AT24Cxx EEPROM存取
I2C匯流排(Inter IC Bus)通訊協定自1992年由菲力浦(Philips)公司提出,由於僅透過主從架構和兩條傳輸線SCL(Serial Clock line)及SDA(Serial Data line)作串列傳送達成雙向傳輸(如圖一所示),簡化了傳輸位元的接線,已被廣泛應用於各種小型化IC間的資料傳輸諸如:LCD driver、RAM、EEPROM、AD/DA轉換器及智慧型控制(單晶片微電腦)…等。
本文藉由Atmel公司所生產的89s51單晶片微電腦及EEprom AT24Cxx提供作為I2C匯流排(Inter IC Bus)通訊協定的認識及測試程式範例。
Master
Slave
一、I2C通訊協定(註一)
I2C Bus由主控端送出系統同步時脈訊號(SCL)而經由SDA腳作資料雙向傳輸。每筆資料傳輸以八位元為一單位,由MSB位元開始依序傳送或接收如圖二所示,SDA資料的改變僅能發生在SCL低電位時間,且每當完成八位元寫入受控端後,受控端將在第九個時脈回應一低準位訊號(ACK)表示完成寫入程序,而主控端作讀取時,在第九個時脈回應受控端一高準位訊號(NO ACK)表示完成讀出程序。
SDA及SCL同時維持在高準位狀態,受控端處於休眠狀態(Idle),而當主控端要完成一筆資料傳送時,必須有起始訊(start)及停止訊號(stop)的發佈如固四所示,SDA早一步SCL由高電位轉為低電位表示傳送開始,而SDA慢一步SCL由低電位轉為高電位表傳送結束。
二、AT24Cxx通訊協定(註二)
EEPROM AT24c02/04/08/16分別提供2k Bit(256Byte)/4k/8k/16k(2k Byte) 等容量而IC接腳僅8支如圖五所示,A2-A0提供多顆元件並接擴充記憶容量的頁碼選擇,例如使用八顆24c02擴充為2k Byte記憶體,由A2-A0外部接線設定不同分頁,而較高容量24c16則不須使用A2-A0,僅需設定內定位元P2-P0區別分頁如圖六所示,元件的位址碼由八位元組成,最高四位元固定為1010,而最低位元(LSB)作為讀寫的選擇,0表寫入記憶體,1表從記憶讀出資料。
圖五 接腳圖
圖六 元件位址表
24cxx寫入傳輸協定如圖七所示,先送元件位址,再指定記憶體位址(word address) 共八位元(256 Byte)最後再傳送寫入的資料。圖八顯示利用I2C分析儀截取寫入資料55h至24c02的第0位址的實際傳輸格式。
圖七 Byte 的寫入格式
圖八 寫入資料55h至24c02的第0位址的實際傳輸格式
24cxx讀出傳輸協定如圖九所示,元件位址設定與讀入協定相同,需增加一次元位垃設定但須將LSB設為1即讀出狀態,主控端即可依序接收EEPROM所送出的資料。圖十顯示從24c02的第0位址讀出資料55h的實際傳輸格式。
圖九 Byte讀出格式
圖十 從24c02的第0位址讀出資料55h的實際傳輸格式
三、結論
I2C Bus 通訊協定,一般標準模式傳輸速度最高可達100kbit/s,而在快速及高速模式分別可達400kbit/s及3.4Mbit/s。至於實際應用仍需配合受控端(Slave)元件的速度,因此實務上測試最好先使用組合語言比較能掌控晶片間傳輸過程。所附程式碼已經過實務測試,89s51使用頻率為12MHz,提供給有趣的同仁參考。
四、參考資料
註一:”The I2C-BUS SPECIFICATION Version 2.1”
/i2c
註二:”Atmel AT24Cxx datasheet”
/literature
五、範例程式(
scl equ p3.0
sda equ p3.1
wrdata equ 34h ;write data buffer
rddata equ 33h ;read data buffer
addr equ 32h ;data address buffer
device equ 31h ;device address buffer
pge equ 30h ;pages buffer
org 0h
sjmp reset
org 30h
reset:
mov pge,#0 ;set memory pages
call devpage ;device address converter
mov addr,#0 ;set word address
mov wrdata,p0 ;set write data from P0
call byte_wr
jb p2.0,$
call rnd_rd
mov p1,rddata
jb p2.7,$
s
您可能关注的文档
- 20110120数位逻辑含实习期末考解答.doc
- 20120407淋巴结肿大的意义 - 佛山市中医院.doc
- 20130525慢性咳嗽的病因和治疗 - 佛山市中医院.doc
- 2017417 2017全球未来网络发展峰会(下午).doc
- 20170411 评选标准以及奶牛选美大赛资料提交要求 - 奶牛杂志.doc
- 20140213福州保税区海关mb1215de环评最终公示版 - 福州海关.doc
- 0930309289-指示药品审查基准泻剂.doc
- 1493113855419szrfz2017-t-004办公设备系统 - 苏州市政府采购网.doc
- abound with/in富于、充满.doc
- a包:电子与通信技术综合实训室设备 - 淮安市政府采购网.doc
最近下载
- AWS D1.1-2020钢结构焊接规范(中英文版).pdf
- 重大公共卫生项目健康危险因素健康问题调评估报告.doc
- 操作系统原理练习题2及答案.pdf VIP
- 湖北省医疗服务收费标准(综合医疗服务类).pdf
- 《中国共产党巡视工作条例》测试附答案.docx VIP
- 刺络拔罐技术钟代华PPT培训课件.pptx
- 全国学生资助管理信息系统-中职子系统操作手册-简易版_v1.30.pdf
- 3.6.2 中医特色康复医疗的服务标准及规范.docx VIP
- 碧桂园物管员工作岗位手机使用管理办法(V1.0).docx
- 2024-2025学年小学英语三年级上册(2024)接力版(三起)(2024)教学设计合集.docx
文档评论(0)