999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

萬年歷芯片DS1302功能測試方法研究

2019-11-06 00:27:52張春宇
微處理機 2019年5期
關(guān)鍵詞:單片機

張春宇

(中國電子科技集團公司第四十七研究所,沈陽 110032)

1 引 言

集成電路的發(fā)明與應(yīng)用是20世紀(jì)人類科技發(fā)展史上一顆最為璀璨的明珠,它改變了人類的生產(chǎn)生活和思維方式,為世界的經(jīng)濟繁榮、社會進步做出重大貢獻(xiàn)。進入二十一世紀(jì),集成電路產(chǎn)業(yè)得到空前發(fā)展與壯大,各種各樣的電子產(chǎn)品被科學(xué)家們研制出來,并應(yīng)用于各行各業(yè),這對集成電路生產(chǎn)者來說是一個巨大的挑戰(zhàn)。縮短生產(chǎn)周期、及時提供高質(zhì)量的產(chǎn)品成為他們研究的首要問題,而在集成電路的整個生產(chǎn)過程中,測試過程是一個非常關(guān)鍵和耗時的工序,所以提高集成電路測試技術(shù),縮短測試時間,可大大縮短生產(chǎn)周期。計算機作為一種高速精準(zhǔn)的高科技產(chǎn)品,被科學(xué)家們應(yīng)用到集成電路測試中。計算機輔助測試(Computer Aided Testing,CAT)技術(shù)在此背景下應(yīng)運而生,被廣泛用來搭建集成電路測試系統(tǒng),達(dá)到測試的目的[1]。

2 系統(tǒng)總體設(shè)計

DS1302 是DALLAS 公司推出的萬年歷時鐘芯片,內(nèi)含7 字節(jié)實時時鐘、日歷寄存器和31 字節(jié)靜態(tài)RAM 寄存器。 實時時鐘、日歷電路提供秒、分、時、日、月、星期和年的信息設(shè)置及讀取,平年和閏年每月的天數(shù)可自動調(diào)整;通過設(shè)置小時寄存器可決定采用24 或12 小時工作模式。在應(yīng)用系統(tǒng)中DS1302 芯片只能作為從設(shè)備,它與主控設(shè)備之間的聯(lián)系是通過串行外設(shè)接口(Serial Peripheral Interface,SPI)來實現(xiàn)的。SPI 總線是一種同步串行外設(shè)接口,它可以使MCU 與各種外圍設(shè)備以串行方式進行通信以交換信息。DS1302 芯片通過 SCLK、I/O、RST 三個管腳與主控芯片的SPI 接口或普通I/O 口進行連接。編寫主控芯片的底層程序,即可實現(xiàn)對DS1302芯片的讀寫控制。

根據(jù)DS1302 芯片的功能特點,經(jīng)過詳細(xì)的需求分析,搭建上位機-下位機(主控設(shè)備)-從設(shè)備的系統(tǒng)架構(gòu)。選擇PC 機作為上位機,負(fù)責(zé)將測試命令發(fā)送給下位機,并接收下位機的返回信息,進行顯示與存儲。選擇單片機作為下位機,負(fù)責(zé)接收上位機發(fā)送的命令,根據(jù)命令再對DS1302 進行控制,并負(fù)責(zé)將DS1302 返回的數(shù)據(jù)發(fā)送給上位機。DS1302 作為從設(shè)備只能被單片機控制,執(zhí)行單片機發(fā)送的命令并返回信息。這里單片機在與上位機通訊的網(wǎng)絡(luò)中稱為下位機,在與DS1302 芯片通訊的網(wǎng)絡(luò)中稱為主控設(shè)備,起到了承上啟下的作用[2-3]。

3 系統(tǒng)的具體實現(xiàn)過程

3.1 硬件設(shè)計

在系統(tǒng)硬件架構(gòu)中,采用PC 機作為上位機,8位單片機STC89C51 作為下位機;上位機與下位機之間經(jīng)過串口串行端口進行連接[4]。由于上位機的RS232 接口為負(fù)邏輯電平,不能直接與下位機的串行端口連接,因此在兩者之間添加MAXIM 公司的MAX232 電平轉(zhuǎn)換芯片。由于STC89C51 沒有專用SPI 接口,特別采用P2 端口的3 根口線,與DS1302的SPI 接口進行連接。系統(tǒng)的硬件連接如圖1所示。

圖1 系統(tǒng)硬件連接圖

3.2 軟件設(shè)計

系統(tǒng)整體的軟件設(shè)計基于上位機與下位機之間通訊協(xié)議,包括上位機軟件設(shè)計和下位機軟件設(shè)計。

上位機與下位機之間的通訊協(xié)議是指兩者之間按照約定的數(shù)據(jù)幀格式進行通訊,每一數(shù)據(jù)幀中,都會包含開始字符、結(jié)束字符、數(shù)據(jù)幀長度和命令碼等信息。上位機發(fā)送給下位機的數(shù)據(jù)幀中的命令碼,以及下位機返回給上位機的數(shù)據(jù)幀格式中的命令碼的定義如表1所示。

表1 通迅中使用的命令碼

3.2.1 上位機程序設(shè)計

上位機軟件采用Visual Studio 2010 中的C#語言,在Windows 7 環(huán)境下開發(fā)[5]。C#是一種最新的、面向?qū)ο蟮木幊陶Z言,它使得程序員能夠更快捷地編寫各種基于Microsoft.NET 平臺的應(yīng)用程序[6]。在Visual Studio 2010 中編寫串口通訊程序要比在微軟早期版本的編程環(huán)境下更為方便,它提供了一個SerialPort 類,所有與串口相關(guān)的操作都可以用此類的實例來完成,如SerialPort.Open()方法為打開一個新的串行端口連接,SerialPort.Close()方法為關(guān)閉已打開的串行端口連接,SerialPort.Read()方法為從接收緩沖區(qū)讀取數(shù)據(jù),SerialPort.Write()方法為發(fā)送數(shù)據(jù)到發(fā)送緩沖區(qū)[7]等等。軟件界面如圖2所示。

圖2 上位機程序主界面

上位機程序設(shè)計包括對DS1302 芯片的功能測試、時間寄存器測試和RAM 寄存器測試三個部分。

(1)功能測試模塊

系統(tǒng)依次提取功能測試時間列表中設(shè)置的時間,將時間信息寫入到待發(fā)送數(shù)據(jù)幀中,然后發(fā)送命令碼為0 的數(shù)據(jù)幀,再延時發(fā)送命令碼為1 的數(shù)據(jù)幀,讀取下位機返回的數(shù)據(jù)幀,并進行判斷與顯示。如果返回的時間按照1 秒遞增變化,則芯片功能正確,反之則芯片功能錯誤。在功能測試時間列表中,設(shè)置了一些關(guān)鍵時間點,如設(shè)置平年的月末、年末,閏年的2 月28 日,2 月29 日,年末等。為適應(yīng)不同的測試要求,功能測試時間列表中的測試項可按照需要增加或減少,而不需要改變程序代碼。功能測試模塊程序流程圖如圖3所示。

圖3 上位機功能測試模塊程序流程圖

(2)時間寄存器測試模塊

和時間相關(guān)的寄存器共有7 個,分別有:秒、分、時、日、月、星期和年。每個寄存器存儲的數(shù)值范圍不同,要實現(xiàn)全覆蓋測試,需要分別進行測試。以秒寄存器為例,它存儲數(shù)值的范圍為0~59,上位機程序需要將從0 到59 共60 個數(shù)分別寫入寄存器,并且在每次寫入成功之后能準(zhǔn)確讀出,則證明秒寄存器正確。其它6 個寄存器的測試方法與秒寄存器類似。上位機發(fā)送給下位機的數(shù)據(jù)幀中,設(shè)置秒寄存器的數(shù)據(jù)幀中的關(guān)鍵數(shù)據(jù)為寄存器地址0x80,命令碼為4;讀取寄存器的數(shù)據(jù)幀中的關(guān)鍵數(shù)據(jù)為寄存器地址0x81,命令碼為 5。

(3)RAM 寄存器測試模塊

將從 0 到 255 共 256 個數(shù)寫入到 RAM 中,再讀出,寫入的數(shù)據(jù)與讀出相同,則RAM 寄存器正確。可使用兩種方式進行RAM 寄存器測試:單字節(jié)模式和多字節(jié)模式。

在單字節(jié)模式中,上位機發(fā)送給下位機的數(shù)據(jù)幀格式和時間寄存器測試方法中的格式相同,設(shè)置RAM 寄存器的數(shù)據(jù)幀中關(guān)鍵數(shù)據(jù)為RAM 寄存器地址,命令碼為4;讀取RAM 寄存器的數(shù)據(jù)幀中關(guān)鍵數(shù)據(jù)為RAM 寄存器地址,命令碼為5。

在多字節(jié)模式中,上位機發(fā)送給下位機的數(shù)據(jù)幀中,設(shè)置RAM 寄存器的重要數(shù)據(jù)為寄存器地址0xFE,命令碼為2,讀取RAM 寄存器的重要數(shù)據(jù)為寄存器地址0xFF,命令碼為3。

由于DS1302 時間寄存器中存儲的數(shù)據(jù)為BCD碼(Binary-Coded Decimal,又稱二進碼十進數(shù))格式,將時間數(shù)據(jù)寫入DS1302 之前,或者從DS1302讀取的時間數(shù)據(jù)在顯示前要進行格式轉(zhuǎn)換。此步轉(zhuǎn)換操作可由上位機程序完成,也可由下位機程序完成,在該系統(tǒng)中是由上位機程序完成的。比如上位機要發(fā)送55 秒這個數(shù)據(jù)給下位機,實際發(fā)送的是十六進制的55,上位機收到的秒寄存器的數(shù)據(jù)為23,實際的秒時間為17 秒。

3.2.2 下位機程序設(shè)計

下位機軟件是在Keil μVision 4 環(huán)境下使用C語言編寫。Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng)。與匯編語言相比,C 語言在功能、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,選擇C 語言進行單片機程序開發(fā)已成為大多數(shù)程序員的第一選擇[8]。Keil 提供了包括C 編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。

在下位機主函數(shù)程序中,先進行系統(tǒng)的初始化,包括設(shè)置定時器1 工作模式,選用串口工作模式,定時器設(shè)置初值,中斷允許寄存器設(shè)置,啟動串口的接收中斷,啟動定時器1 等。使其處于while(1)循環(huán)中,在循環(huán)中判斷標(biāo)志位變量的值。當(dāng)發(fā)生了串口接收中斷后,接收上位機發(fā)送的數(shù)據(jù)幀,并置位標(biāo)志位變量USART_RX_STA 的值。在主函數(shù)中檢測到標(biāo)志位變量USART_RX_STA 的值被置位則開始解析接收到的數(shù)據(jù)幀,根據(jù)接收到的不同的命令碼來驅(qū)動DS1302 芯片,達(dá)到測試的目的。下位機的主函數(shù)程序流程圖如圖4所示。

當(dāng)上位機發(fā)送數(shù)據(jù)幀給下位機時,觸發(fā)下位機的串口接收中斷,下位機串口接收中斷程序流程圖如圖5所示。

圖4 下位機主函數(shù)流程圖

圖5 下位機串口接收中斷流程圖

4 結(jié) 束 語

應(yīng)用上述方案設(shè)計的DS1302 測試系統(tǒng),對DS1302 芯片進行了批量測試,測試效率有顯著的提高,實現(xiàn)了預(yù)期的測試目標(biāo)。該系統(tǒng)還具有可移植性高的優(yōu)點,用于其它接口的被控器件時,在硬件方面上/下位機結(jié)構(gòu)都不需要修改,只需考慮單片機與被控器件的連接及軟件方面,簡單修改上/下位機程序和通訊協(xié)議即可實現(xiàn)對該被控器件的測試。因此該設(shè)計方法對于集成電路測試具有較高的推廣價值。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設(shè)計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統(tǒng)的仿真設(shè)計
主站蜘蛛池模板: 日韩精品无码一级毛片免费| www.99在线观看| 亚洲Av激情网五月天| 91精品小视频| 一区二区理伦视频| 人人澡人人爽欧美一区| 福利一区三区| 日韩一级毛一欧美一国产| 久久伊人久久亚洲综合| 亚洲第一成年人网站| 5555国产在线观看| 91精品国产无线乱码在线| 美女潮喷出白浆在线观看视频| 中文字幕第4页| 国产91全国探花系列在线播放| 亚洲制服丝袜第一页| 她的性爱视频| 四虎国产精品永久一区| 色综合手机在线| 亚洲色婷婷一区二区| 99这里只有精品免费视频| 国产免费黄| 精品欧美一区二区三区久久久| 欧美特黄一级大黄录像| 特黄日韩免费一区二区三区| 国内精品一区二区在线观看 | 亚洲精品无码专区在线观看| 亚洲中文无码h在线观看| 91无码人妻精品一区二区蜜桃| 人妖无码第一页| 人妻21p大胆| 精品国产中文一级毛片在线看| 尤物精品视频一区二区三区| 亚洲三级影院| 国产精品亚洲片在线va| 一级成人a毛片免费播放| 国产精品久久久精品三级| 亚洲日韩AV无码精品| a色毛片免费视频| 中文成人在线视频| 欧美日韩在线国产| 91午夜福利在线观看| 色网站在线免费观看| 亚洲视频在线青青| 无码内射中文字幕岛国片| 国产乱码精品一区二区三区中文 | 人妻无码AⅤ中文字| 在线观看国产精美视频| 无码高潮喷水在线观看| 香蕉eeww99国产精选播放| 特级欧美视频aaaaaa| 中国毛片网| 免费无遮挡AV| 国产午夜精品一区二区三| 国产亚洲精品无码专| 国产一二三区在线| 999国内精品视频免费| 高h视频在线| 久久综合丝袜日本网| 久久这里只有精品国产99| 永久免费无码成人网站| 婷婷色婷婷| 亚洲一区二区无码视频| 无码不卡的中文字幕视频| 伊人福利视频| 亚洲中文在线视频| 国产精品久久久久久搜索| 亚洲日韩精品欧美中文字幕| 国产亚洲一区二区三区在线| 国产精品成人免费视频99| jizz亚洲高清在线观看| 97se亚洲综合| 国产人在线成免费视频| 国产中文在线亚洲精品官网| 精品人妻无码中字系列| 欧美国产在线一区| 国产亚洲欧美日韩在线一区二区三区| 亚洲欧美成人网| 91破解版在线亚洲| 欧美a√在线| 精品国产电影久久九九| 国产呦精品一区二区三区网站|