吳曉光
(中鋼集團(tuán)洛陽耐火材料研究院有限公司,河南 洛陽471039)
串行E2PROM是可在線電擦除和電寫入的存儲(chǔ)器,具有體積小、接口簡單、數(shù)據(jù)保存可靠、可在線改寫、功耗低等特點(diǎn),而且為低電壓寫入,在單片機(jī)系統(tǒng)中應(yīng)用十分普遍。
Catalyst公司的串行E2PROM兼容工業(yè)上最受歡迎的三種總線——I2C總線、Microwire總線及SPI總線。Catalyst公司的產(chǎn)品提供1 KB~256 KB的高密度存儲(chǔ),以及1.8 V~6 V的寬電壓操作范圍。本文以CAT24WC64為例著重介紹串行E2PROM。CAT24WC64是一個(gè)64 KB串行 CMOS E2PROM,內(nèi)部含有 8 192 B(每字節(jié)為 8 bit)。CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗,CAT24WC64有一個(gè)32 B頁寫緩沖器,該器件通過I2C總線接口進(jìn)行操作。
E2PROM的電路結(jié)構(gòu)經(jīng)歷了一個(gè)發(fā)展過程,目前大多采用FLOTOX(Floating Tunnel Oxide)結(jié)構(gòu)。這種結(jié)構(gòu)的基本存儲(chǔ)單元的主體是一個(gè)特殊的MOS管,如圖1所示。它的特點(diǎn)是:浮置柵向下凸出一塊,使得浮置柵與漏區(qū)之間的隧道氧化層面積很小、厚度很薄。它的編程原理與EPROM相似,即讓浮置柵上帶電荷。具體實(shí)現(xiàn)是在控制柵加高電位,此時(shí)漏端的電子將借助Fowler-Nordheim隧道效應(yīng)穿過薄氧化層而進(jìn)入浮置柵。它的擦除原理與EPROM不同,是在控制柵加低電位,使存儲(chǔ)在浮置柵中的電子被抽出,于是又恢復(fù)到初始狀態(tài)。
系統(tǒng)的硬件部分主要包括前段信號(hào)采集放大電路和人機(jī)交互界面電路兩部分,系統(tǒng)硬件結(jié)構(gòu)[1]框圖如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)硬件結(jié)構(gòu)包括主控制器SST89E516RD2、CAT24WC64存儲(chǔ)器、電源電路、溫度傳感器、壓力傳感器以及采樣放大電路。主控制器SST89E516RD2是一款來自SST公司的8位低功耗處理器,比常規(guī)8位處理器多了一個(gè)P4口,更有利于擴(kuò)展,片內(nèi)有64 KB的Flash和1 KB的RAM,性能更加出色。CAT24WC64存儲(chǔ)器采用I2C串行方式存儲(chǔ),節(jié)省了CPU資源,而且數(shù)據(jù)在傳輸中不易受外界干擾。前段信號(hào)采樣采用熱電偶和壓力傳感器來完成。此外,對(duì)于熱電偶測(cè)得的微弱電流信號(hào)需通過運(yùn)算放大器實(shí)現(xiàn)信號(hào)的放大和抬升。而人機(jī)交互(即顯示和鍵盤操作)通過簡單的電路得以實(shí)現(xiàn)。
CAT24WC64是Catalyst公司的一款支持I2C等多種協(xié)議的串行存儲(chǔ)器,具有體積小、接口簡單、數(shù)據(jù)保存可靠、可在線改寫、功耗低等特點(diǎn),而且為低電壓寫入,在單片機(jī)系統(tǒng)中應(yīng)用十分普遍;相比Atmel等公司的串行存儲(chǔ)器性價(jià)比更加突出;使用靈活性強(qiáng),大大降低了系統(tǒng)開發(fā)的難度,而且降低了系統(tǒng)設(shè)計(jì)的成本。CAT24WC64外圍接口電路圖3所示。
系統(tǒng)軟件部分的設(shè)計(jì)主要按功能塊劃分為若干個(gè)模塊進(jìn)行編寫設(shè)計(jì),主體循環(huán)就是對(duì)各個(gè)功能函數(shù)進(jìn)行調(diào)用,完成系統(tǒng)的數(shù)據(jù)采集、處理以及大量客戶使用數(shù)據(jù)的存儲(chǔ)調(diào)用。整個(gè)軟件的編寫使用靈活性強(qiáng)、可讀性和可移植性強(qiáng)的C語言[3],在Keil C51集成開發(fā)環(huán)境下完成開發(fā)和最終調(diào)試。
主要的函數(shù)包括主函數(shù)、溫度測(cè)量、壓力測(cè)量、用戶數(shù)據(jù)存儲(chǔ)、鍵盤顯示等功能函數(shù)模塊。溫度測(cè)量功能塊實(shí)現(xiàn)對(duì)S型熱電偶測(cè)溫電路的模/數(shù)轉(zhuǎn)換以及線性化[4]和放大功能;壓力測(cè)量功能塊負(fù)責(zé)壓力信號(hào)的轉(zhuǎn)換;用戶數(shù)據(jù)存儲(chǔ)功能模塊主要是通過對(duì)I2C串行存儲(chǔ)器CAT24WC64的控制函數(shù)和協(xié)議棧的調(diào)用來完成數(shù)據(jù)的串行存儲(chǔ)。各個(gè)子函數(shù)之間保持各自獨(dú)立的完整性,能在主函數(shù)中實(shí)現(xiàn)無縫調(diào)用。
CAT24WC64操作包括啟動(dòng)、停止、隨機(jī)字節(jié)讀寫、連續(xù)讀寫、應(yīng)答信號(hào)、校驗(yàn)、延時(shí)等。下面重點(diǎn)說明連續(xù)讀寫以及包含的頁寫代碼的實(shí)現(xiàn)。
連續(xù)寫函數(shù):
因?yàn)閕2c存儲(chǔ)器一般都是按頁存儲(chǔ)的,所以在寫的時(shí)候也要按照此規(guī)定進(jìn)行操作,如若跨頁寫則會(huì)出現(xiàn)錯(cuò)誤。在此采用了循環(huán)寫入的方法避免了跨頁寫容易出錯(cuò)的問題。例如CAT24WC64存儲(chǔ)是按照32 B為一頁,下面給出具體的實(shí)現(xiàn)函數(shù)可以不受頁寫限制:
此函數(shù)避免了在連續(xù)寫入遇到跨頁時(shí)的限制,可以實(shí)現(xiàn)無縫連續(xù)寫入。
連續(xù)讀函數(shù):
連續(xù)讀函數(shù)的具體實(shí)現(xiàn)原理與連續(xù)寫入函數(shù)一樣,也實(shí)現(xiàn)了無縫連續(xù)讀出函數(shù)。
本系統(tǒng)測(cè)試包括軟件測(cè)試、硬件測(cè)試、穩(wěn)定性和存儲(chǔ)速度測(cè)試。通過溫度傳感器和壓力傳感器實(shí)現(xiàn)了信號(hào)采集并進(jìn)行分析利用;通過相應(yīng)的軟件校正消除了非線性誤差,在一定范圍內(nèi)提升到比較高的測(cè)量精度,滿足了設(shè)計(jì)要求。選用了廉價(jià)可靠、性能出色的I2C存儲(chǔ)器CAT24WC64,可滿足使用者設(shè)計(jì)多種應(yīng)用程序;對(duì)牙科市場多種瓷粉材料的燒結(jié)工藝參數(shù)進(jìn)行存儲(chǔ)并加以應(yīng)用,大大方便了使用者的操作。
[1]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1989.
[2]張載鴻.微型機(jī)(PC系列)接口控制教程[M].北京:清華大學(xué)出版社,1992.
[3]徐愛鈞,彭秀華.單片機(jī)高級(jí)語言 C51Windows環(huán)境編程與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[4]王士杰.一種適用于微機(jī)型溫度儀表的熱電偶非線性校正[J]. 自 動(dòng) 化 儀 表 ,1994(1):36-37.
[5]范風(fēng)強(qiáng),蘭嬋麗.單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦[M].北京:電子工業(yè)出版社,2002.