時(shí)鐘芯片SD2200ELP與AVR單片機(jī)的接口設(shè)計(jì)
發(fā)布時(shí)間:2008/9/4 0:00:00 訪問次數(shù):486
摘要。螅洌玻玻埃埃澹欤鹗巧钲谂d威帆電子技術(shù)有限公司生產(chǎn)的高精度實(shí)時(shí)時(shí)鐘芯片。本文給出了時(shí)鐘芯片sd2200elp與atmegal6的接口設(shè)計(jì),并實(shí)現(xiàn)了avr的twi總線對(duì)sd2200elp進(jìn)行時(shí)鐘和e2prom的讀/寫操作的c語言程序,具有很強(qiáng)的實(shí)用性和通用性。
在提升機(jī)制動(dòng)閘瓦間隙實(shí)時(shí)在線檢測(cè)的設(shè)計(jì)中,需要保存故障時(shí)間和故障數(shù)據(jù)。大部分儀器儀表中都要使用時(shí)鐘芯片,但是很多的實(shí)時(shí)時(shí)鐘芯片(如pcf8563)沒有掉電保護(hù),須外接晶振和電池,比較麻煩。而深圳興威帆電子技術(shù)有限公司生產(chǎn)的sd2200elp是內(nèi)置32。耄猓澹玻穑颍铮淼拇袑(shí)時(shí)時(shí)鐘芯片,不需要外接器件支持,連線簡(jiǎn)單、可靠,提供的數(shù)據(jù)精確,斷電后也能繼續(xù)工作。微控制器采用atmel公司的atmegal6單片機(jī),利用at-megai6的硬件twi接口可直接對(duì)sd2200elp進(jìn)行操作,無需軟件模擬i2c方式,使用方便、可靠。
。薄。螅洌玻玻埃埃旌(jiǎn)介
。螅洌玻玻埃埃煜盗校òǎ螅洌玻玻埃埃猓悖洌澹妫欤穑┦且环N具有內(nèi)置晶振、支持i2c總線的高精度實(shí)時(shí)時(shí)鐘芯片。sd2200elp是sd2200l系列中的一種,該芯片可保證時(shí)鐘精度為±5ppm(在-10~50℃下),即年誤差小于2.5min。芯片內(nèi)置時(shí)鐘精度調(diào)整功能,可以在很寬的范圍內(nèi)校正時(shí)鐘的偏差;內(nèi)置32kb串行非易失性e2prom;可在3.0~5.5v下工作,擦寫次數(shù)可達(dá)100萬次,數(shù)據(jù)保存時(shí)間為十年;內(nèi)置一次性電池,可保證在外部掉電情況下時(shí)鐘使用壽命超過五年。sd2200l系列內(nèi)部結(jié)構(gòu)如圖l所示。
。病∮布O(shè)計(jì)
。螅洌玻玻埃埃澹欤鸺扔袑(shí)時(shí)芯片的功能,又可以存儲(chǔ)數(shù)據(jù)到內(nèi)置e2prrom中。因?yàn)椋螅洌玻玻埃埃澹欤鹗牵椋玻憧偩接口方式,所以其硬件接口設(shè)計(jì)非常簡(jiǎn)單,可以大大簡(jiǎn)化單片機(jī)外圍器件。avr的twi總線實(shí)質(zhì)上就是i2c總線,只是名稱不一樣。圖2中intl腳為sd2200elp的定時(shí)中斷輸出,與atmegal6的外部中斷intl相連接(intl配置為下降滑觸發(fā)方式),sda、scl為兩線式串行引腳,分別與atmegal6的twl(pcl、pco)相連。
3 軟件設(shè)計(jì)
如果外圍器件是i2c接口類型,而單片機(jī)沒有i2c接口,那么必須用軟件模擬的方式來實(shí)現(xiàn)。avr單片機(jī)功能很強(qiáng),它帶有twi接口,可以直接利用atmegal6的硬件i2c接口來對(duì)外圍i2c器件進(jìn)行操作,非常方便、有效。這樣可以節(jié)省模擬i2c程序,為用戶編程省去很多麻煩。下面是使用atmegal6對(duì)內(nèi)置e2prom的實(shí)時(shí)時(shí)鐘芯片sd2200elp讀/寫的程序設(shè)計(jì),均是在iccavr開發(fā)環(huán)境下編寫。
。常薄。幔簦颍睿澹纾幔欤兜模簦鳎榭偩接口
兩線接口twi很適合于典型的處理器應(yīng)用。twi協(xié)議允許系統(tǒng)設(shè)計(jì)者只用兩根雙向傳輸線就可以將128?jìng)(gè)不同的設(shè)備互連到一起。這兩根線是時(shí)鐘線scl和數(shù)據(jù)線sda。外部硬件只需2個(gè)上拉電阻,每根線上1個(gè)。所有連接到總線上的設(shè)備都有自己的地址。twi協(xié)議解決了總線仲裁的問題,twi總線的連接如圖3所示。
。簦鳎榭偩可以工作于4種不同的模式:主機(jī)發(fā)送器(mt)、主機(jī)接收器(mr)、從機(jī)發(fā)送器(st)以及從機(jī)接收器(sr)。在后面將介紹的連續(xù)讀e2prom操作中就使用了mt和mr模式。
。常病(shí)時(shí)時(shí)鐘讀取
實(shí)時(shí)時(shí)鐘操作指令格式如下:
其中高4位稱為“器件代碼”,它代表實(shí)時(shí)時(shí)鐘的器件地址,固定為“0110”。c2、c1、c0構(gòu)成對(duì)實(shí)時(shí)時(shí)鐘操作的8條指令。
實(shí)時(shí)數(shù)據(jù)寄存器是一個(gè)56位的存儲(chǔ)器,它以bcd碼方式存儲(chǔ),包括年、月、日、星期、時(shí)、分、秒的數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)的讀/寫操作都通過發(fā)送或接收年(實(shí)時(shí)數(shù)據(jù)讀寫方式1)數(shù)據(jù)的第一位“lsb”開始執(zhí)行的。
。常场。澹玻穑颍铮淼淖x/寫
sd2200elp的e2prom操作指令與實(shí)時(shí)時(shí)鐘的器件代碼是不一樣的。當(dāng)cpu要對(duì)sd12200l中的e2prom進(jìn)行操作時(shí),首先發(fā)出開始信號(hào)給sd2200l,然后cpu發(fā)出包括4位器件代碼10lo、3位頁選碼000、1位讀/寫指令的8位數(shù)據(jù)(即“從器件地址”)。一位讀/寫指令表明進(jìn)行何種操作(讀操作
摘要。螅洌玻玻埃埃澹欤鹗巧钲谂d威帆電子技術(shù)有限公司生產(chǎn)的高精度實(shí)時(shí)時(shí)鐘芯片。本文給出了時(shí)鐘芯片sd2200elp與atmegal6的接口設(shè)計(jì),并實(shí)現(xiàn)了avr的twi總線對(duì)sd2200elp進(jìn)行時(shí)鐘和e2prom的讀/寫操作的c語言程序,具有很強(qiáng)的實(shí)用性和通用性。
在提升機(jī)制動(dòng)閘瓦間隙實(shí)時(shí)在線檢測(cè)的設(shè)計(jì)中,需要保存故障時(shí)間和故障數(shù)據(jù)。大部分儀器儀表中都要使用時(shí)鐘芯片,但是很多的實(shí)時(shí)時(shí)鐘芯片(如pcf8563)沒有掉電保護(hù),須外接晶振和電池,比較麻煩。而深圳興威帆電子技術(shù)有限公司生產(chǎn)的sd2200elp是內(nèi)置32 kbe2prom的串行實(shí)時(shí)時(shí)鐘芯片,不需要外接器件支持,連線簡(jiǎn)單、可靠,提供的數(shù)據(jù)精確,斷電后也能繼續(xù)工作。微控制器采用atmel公司的atmegal6單片機(jī),利用at-megai6的硬件twi接口可直接對(duì)sd2200elp進(jìn)行操作,無需軟件模擬i2c方式,使用方便、可靠。
。薄。螅洌玻玻埃埃旌(jiǎn)介
sd2200l系列(包括sd2200b/c/d/e/flp)是一種具有內(nèi)置晶振、支持i2c總線的高精度實(shí)時(shí)時(shí)鐘芯片。sd2200elp是sd2200l系列中的一種,該芯片可保證時(shí)鐘精度為±5ppm(在-10~50℃下),即年誤差小于2.5min。芯片內(nèi)置時(shí)鐘精度調(diào)整功能,可以在很寬的范圍內(nèi)校正時(shí)鐘的偏差;內(nèi)置32kb串行非易失性e2prom;可在3.0~5.5v下工作,擦寫次數(shù)可達(dá)100萬次,數(shù)據(jù)保存時(shí)間為十年;內(nèi)置一次性電池,可保證在外部掉電情況下時(shí)鐘使用壽命超過五年。sd2200l系列內(nèi)部結(jié)構(gòu)如圖l所示。
。病∮布O(shè)計(jì)
。螅洌玻玻埃埃澹欤鸺扔袑(shí)時(shí)芯片的功能,又可以存儲(chǔ)數(shù)據(jù)到內(nèi)置e2prrom中。因?yàn)椋螅洌玻玻埃埃澹欤鹗牵椋玻憧偩接口方式,所以其硬件接口設(shè)計(jì)非常簡(jiǎn)單,可以大大簡(jiǎn)化單片機(jī)外圍器件。avr的twi總線實(shí)質(zhì)上就是i2c總線,只是名稱不一樣。圖2中intl腳為sd2200elp的定時(shí)中斷輸出,與atmegal6的外部中斷intl相連接(intl配置為下降滑觸發(fā)方式),sda、scl為兩線式串行引腳,分別與atmegal6的twl(pcl、pco)相連。
3 軟件設(shè)計(jì)
如果外圍器件是i2c接口類型,而單片機(jī)沒有i2c接口,那么必須用軟件模擬的方式來實(shí)現(xiàn)。avr單片機(jī)功能很強(qiáng),它帶有twi接口,可以直接利用atmegal6的硬件i2c接口來對(duì)外圍i2c器件進(jìn)行操作,非常方便、有效。這樣可以節(jié)省模擬i2c程序,為用戶編程省去很多麻煩。下面是使用atmegal6對(duì)內(nèi)置e2prom的實(shí)時(shí)時(shí)鐘芯片sd2200elp讀/寫的程序設(shè)計(jì),均是在iccavr開發(fā)環(huán)境下編寫。
。常薄。幔簦颍睿澹纾幔欤兜模簦鳎榭偩接口
兩線接口twi很適合于典型的處理器應(yīng)用。twi協(xié)議允許系統(tǒng)設(shè)計(jì)者只用兩根雙向傳輸線就可以將128?jìng)(gè)不同的設(shè)備互連到一起。這兩根線是時(shí)鐘線scl和數(shù)據(jù)線sda。外部硬件只需2個(gè)上拉電阻,每根線上1個(gè)。所有連接到總線上的設(shè)備都有自己的地址。twi協(xié)議解決了總線仲裁的問題,twi總線的連接如圖3所示。
twi總線可以工作于4種不同的模式:主機(jī)發(fā)送器(mt)、主機(jī)接收器(mr)、從機(jī)發(fā)送器(st)以及從機(jī)接收器(sr)。在后面將介紹的連續(xù)讀e2prom操作中就使用了mt和mr模式。
。常病(shí)時(shí)時(shí)鐘讀取
實(shí)時(shí)時(shí)鐘操作指令格式如下:
其中高4位稱為“器件代碼”,它代表實(shí)時(shí)時(shí)鐘的器件地址,固定為“0110”。c2、c1、c0構(gòu)成對(duì)實(shí)時(shí)時(shí)鐘操作的8條指令。
實(shí)時(shí)數(shù)據(jù)寄存器是一個(gè)56位的存儲(chǔ)器,它以bcd碼方式存儲(chǔ),包括年、月、日、星期、時(shí)、分、秒的數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)的讀/寫操作都通過發(fā)送或接收年(實(shí)時(shí)數(shù)據(jù)讀寫方式1)數(shù)據(jù)的第一位“lsb”開始執(zhí)行的。
。常场。澹玻穑颍铮淼淖x/寫
。螅洌玻玻埃埃澹欤鸬模澹玻穑颍铮聿僮髦噶钆c實(shí)時(shí)時(shí)鐘的器件代碼是不一樣的。當(dāng)cpu要對(duì)sd12200l中的e2prom進(jìn)行操作時(shí),首先發(fā)出開始信號(hào)給sd2200l,然后cpu發(fā)出包括4位器件代碼10lo、3位頁選碼000、1位讀/寫指令的8位數(shù)據(jù)(即“從器件地址”)。一位讀/寫指令表明進(jìn)行何種操作(讀操作
熱門點(diǎn)擊
- USB 通信技術(shù)
- Nios II與CF卡的接口設(shè)計(jì)
- 基于80C196KC的ARINC429總線接
- TK512B面陣CCD相機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
- 非易失性并行存儲(chǔ)器的應(yīng)用
- ACTEL發(fā)布兩款實(shí)現(xiàn)人機(jī)接口(HMI)和微
- 基于USB的接口卡
- TMS320VC5402串行通信接口設(shè)計(jì)
- 基于EZ-USB的數(shù)據(jù)傳輸接口設(shè)計(jì)
- 基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的
推薦技術(shù)資料
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢(shì)
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對(duì)位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究