亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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)濟繁榮、社會進步做出重大貢獻。進入二十一世紀(jì),集成電路產(chǎn)業(yè)得到空前發(fā)展與壯大,各種各樣的電子產(chǎn)品被科學(xué)家們研制出來,并應(yīng)用于各行各業(yè),這對集成電路生產(chǎn)者來說是一個巨大的挑戰(zhàn)??s短生產(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),達到測試的目的[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)過詳細的需求分析,搭建上位機-下位機(主控設(shè)備)-從設(shè)備的系統(tǒng)架構(gòu)。選擇PC 機作為上位機,負責(zé)將測試命令發(fā)送給下位機,并接收下位機的返回信息,進行顯示與存儲。選擇單片機作為下位機,負責(zé)接收上位機發(fā)送的命令,根據(jù)命令再對DS1302 進行控制,并負責(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 接口為負邏輯電平,不能直接與下位機的串行端口連接,因此在兩者之間添加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 寄存器正確??墒褂脙煞N方式進行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 芯片,達到測試的目的。下位機的主函數(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è)計方法對于集成電路測試具有較高的推廣價值。

        猜你喜歡
        功能測試下位寄存器
        某內(nèi)花鍵等速傳動軸八功能測試夾具設(shè)計
        Lite寄存器模型的設(shè)計與實現(xiàn)
        發(fā)射機房監(jiān)控系統(tǒng)之下位機
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        汽車儀表HMI功能測試介紹
        人事薪資管理系統(tǒng)軟件測試方案研究
        民用飛機機載電子硬件測試策略研究
        科技視界(2015年27期)2015-10-08 12:34:04
        CAN總線并發(fā)通信時下位機應(yīng)用軟件設(shè)計
        国产av一区二区三区国产福利 | 亚洲av国产精品色午夜洪2| 国产精品毛片无遮挡高清| 97碰碰碰人妻视频无码| 特级黄色大片性久久久| 玩弄放荡人妇系列av在线网站| 久久99精品久久久久久hb无码| 欧美v日韩v亚洲综合国产高清| 亚洲性感毛片在线视频| 国产成人午夜福利在线观看| 99久久99久久精品国产片果冻| 天天射色综合| 激情五月天在线观看视频| 国产精品久久久久精品一区二区 | 麻豆av毛片在线观看| 中国娇小与黑人巨大交| 中文字幕无码av激情不卡| 久久熟女五十路| 国产成人精品久久二区二区91| 亚洲精品~无码抽插| 日韩一欧美内射在线观看| 蜜桃av夺取一区二区三区| 九一免费一区二区三区偷拍视频| 欧洲熟妇色 欧美| 亚州AV无码乱码精品国产| 亚洲国产综合一区二区| 射精区-区区三区| 激情久久av一区av二区av三区 | 亚洲精品无码不卡在线播he| 麻豆高清免费国产一区| 人妻少妇人人丰满视频网站| 日韩中文字幕不卡在线| 69一区二三区好的精华| 97人妻碰免费视频| av一区二区三区有码| 色欲av伊人久久大香线蕉影院| 久久夜色撩人精品国产小说 | 国产精品白浆免费观看| 精品视频在线观看日韩| 亚洲成av人在线观看天堂无码| 日本a在线播放|