嚴(yán)寧 彭富倫 趙青林 陳洪彩 李松 曹越
(西安應(yīng)用光學(xué)研究所,陜西 西安 710065)
以集成電路為代表的各種電子元器件,廣泛應(yīng)用于計(jì)算機(jī)、電力、金融、通信設(shè)備等公共設(shè)施和航空、航天、電子、船舶和工業(yè)等各種裝制和設(shè)備上。我國(guó)電子元器件產(chǎn)業(yè)雖然起步并不晚,但受各種因素的影響,在元器件的門類、品種、性能和質(zhì)量可靠性方面與國(guó)外產(chǎn)品相比都有較大差距,特別是集成電路、光電子器件、電真空器件等類別差距更大[1]。
目前我國(guó)電子設(shè)備選用進(jìn)口電子元器件主要面臨停產(chǎn)斷檔、出口限制與禁運(yùn)、存在安全隱患、假冒偽劣以及篩選測(cè)試?yán)щy等多種問題。擁有自主知識(shí)產(chǎn)權(quán)的集成電路已日益成為經(jīng)濟(jì)發(fā)展的命脈、社會(huì)進(jìn)步的基礎(chǔ)、國(guó)際競(jìng)爭(zhēng)的籌碼甚至國(guó)家安全的保障[2]。
近年來,我國(guó)信息化關(guān)鍵軟硬件技術(shù)得到了長(zhǎng)足發(fā)展,特別是基礎(chǔ)電子元器件性能有了大幅度提升[3];我國(guó)生產(chǎn)元器件的研制單位及生產(chǎn)廠家越來越多,電子元器件自主研發(fā)已取得長(zhǎng)足的發(fā)展,有些元器件已經(jīng)設(shè)計(jì)完成并通過鑒定[4]。但由于受到進(jìn)口廠家占比大,裝備研究單位眾多,每個(gè)單位對(duì)裝備電子元器件的控制水平和方式不同的影響,導(dǎo)致我國(guó)在裝備電子元器件自主研究上,同一功能的元器件經(jīng)常出現(xiàn)選擇多種規(guī)格的產(chǎn)品,這樣的情況導(dǎo)致進(jìn)口元器件的選型比較分散[5]。
STM32F103為ST公司出品的ARM架構(gòu)32位MCU,使用Cortex-M3核心有72MHz主頻,擁有512KBFlash儲(chǔ)存,可在-40~+85℃環(huán)境中工作,具有8組GPIO接口,擴(kuò)展性非常好[6],適用于電力電子系統(tǒng)方面的應(yīng)用、電機(jī)驅(qū)動(dòng)、應(yīng)用控制等,由于其低廉的價(jià)格和強(qiáng)大的功能,其在嵌入式產(chǎn)品中被廣泛應(yīng)用[7]。本文從器件選型、電路原理、軟件流程、工程應(yīng)用與驗(yàn)證等方面給出一種自主研發(fā)替代方案,該方案可完全替代基于STM32F103微處理器的控制電路。
采用本方案設(shè)計(jì)的電路實(shí)現(xiàn)對(duì)具有RS422通信方式的設(shè)備進(jìn)行控制的功能,該電路具有3路RS422通信接口,可同時(shí)控制3個(gè)不同的設(shè)備進(jìn)行工作。
該電路采集外部開關(guān)輸入的開關(guān)量,根據(jù)對(duì)應(yīng)開關(guān)量信息形成控制指令,將控制指令通過RS422串行接口發(fā)送給外部設(shè)備,實(shí)現(xiàn)對(duì)外部設(shè)備的控制;該電路具有上電自檢功能,上電時(shí)對(duì)電路外部特征量進(jìn)行檢查,形成自檢結(jié)果,并將自檢結(jié)果上報(bào)給上位機(jī);該電路接收外部串口發(fā)送的命令信息,對(duì)命令信息進(jìn)行處理,并形成處理結(jié)果,將控制指令、自檢結(jié)果及處理信息通過外部接口進(jìn)行上報(bào)。圖1為電路原理框圖。
圖1 電路原理框圖
該方案主控芯片采用原位替代,接口及其他電子元件采用功能替代,主要電子元器件替代方案見表1。主控部分原理如圖2所示。接口部分原理如圖3所示。
表1 主要電子元器件芯片替代方案
圖2 主控部分原理圖
圖3 接口部分原理圖
軟件采用C語言進(jìn)行編寫。軟件控制流程如圖4所示。程序上電后先進(jìn)行初始化,包括端口、數(shù)據(jù)、看門狗、寄存器等初始化,然后讀取上電自檢狀態(tài)和運(yùn)行狀態(tài),并將上電自檢及運(yùn)行狀態(tài)通過外設(shè)串口進(jìn)行上報(bào);程序進(jìn)入三個(gè)并行的線程,周期查詢自檢狀態(tài)、復(fù)位看門狗并形成自檢上報(bào)信息,對(duì)自檢指示單元進(jìn)行控制;周期查詢外設(shè)開關(guān)、復(fù)位看門狗,對(duì)開關(guān)量進(jìn)行去抖處理以保證開關(guān)的靈敏可靠,根據(jù)開關(guān)量信息判斷出命令值并形成上報(bào)命令信息,同時(shí)對(duì)命令信息通過外設(shè)串口進(jìn)行上報(bào);周期查詢外設(shè)串口接收狀態(tài),當(dāng)有數(shù)據(jù)到來時(shí)及時(shí)接收數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行判斷處理,處理完成后通過串口返回處理結(jié)果及狀態(tài)信息。
圖4 軟件控制流程圖
在對(duì)電路進(jìn)行調(diào)試時(shí),由于主控ARM芯片在串口接收底層設(shè)計(jì)上較原芯片存在差異,之前能夠用原芯片實(shí)現(xiàn)的軟件程序,移植到替代芯片中時(shí),出現(xiàn)了接收數(shù)據(jù)丟包的問題。后經(jīng)查該問題由接收電路產(chǎn)生的毛刺引起。
該問題解決措施:一是選用帶隔離的接口芯片,通過隔離芯片去除接收數(shù)據(jù)端的影響;二是在接收負(fù)端與地和接收正端與電源之間跨接上拉與下拉電阻,如圖5所示。
圖5 接口電路接收端增加上下拉電阻
由于該芯片在奇偶校驗(yàn)開啟時(shí)必須設(shè)置為奇校驗(yàn)或者偶校驗(yàn),而當(dāng)設(shè)置為無校驗(yàn)時(shí),則默認(rèn)關(guān)閉奇偶校驗(yàn),即設(shè)置為無校驗(yàn)位時(shí),不對(duì)校驗(yàn)位進(jìn)行判斷?;谝陨希?dāng)設(shè)置為無校驗(yàn)時(shí),無論前端輸入數(shù)據(jù)是奇校驗(yàn)、偶校驗(yàn)異或無校驗(yàn),均不進(jìn)行判斷,從而會(huì)造成當(dāng)通信格式對(duì)校驗(yàn)位約束為無校驗(yàn)時(shí),對(duì)三種校驗(yàn)?zāi)J骄鶗?huì)正常接收的情況。
軟件設(shè)計(jì)中,在編制軟件需求規(guī)格說明文檔時(shí),需要在通信協(xié)議里明確通信格式的奇偶校驗(yàn)方式,當(dāng)校驗(yàn)方式為無校驗(yàn)時(shí),需要進(jìn)一步說明對(duì)校驗(yàn)位不做判斷,以免在進(jìn)行軟件測(cè)評(píng)時(shí)會(huì)出現(xiàn)文檔描述和實(shí)際操作不一致的問題。
在程序下載過程中,ARM主處理芯片有時(shí)會(huì)出現(xiàn)程序下載不成功的情況,提示錯(cuò)誤信息如圖6所示。
圖6 下載錯(cuò)誤提示
造成該問題的原因是ARM芯片存儲(chǔ)中已有代碼段時(shí),再次寫入會(huì)造成數(shù)據(jù)沖突。解決方法是先對(duì)芯片進(jìn)行擦除處理再進(jìn)行程序下載操作。
該替代方案設(shè)計(jì)的電路隨工程項(xiàng)目完成了軟、硬件的各項(xiàng)考核,經(jīng)過了兩輪樣機(jī)研制過程,通過了樣機(jī)研制過程中的各項(xiàng)試驗(yàn),即通過了環(huán)境試驗(yàn)、電磁兼容試驗(yàn)、可靠性試驗(yàn)等驗(yàn)證,通過了軟件二方測(cè)試、三方測(cè)試。在研制驗(yàn)證過程中除接收數(shù)據(jù)出現(xiàn)丟包問題外未出現(xiàn)其他問題。
該電路通過工程試驗(yàn)驗(yàn)證,具有功能性能良好、可靠性高、工作穩(wěn)定的優(yōu)點(diǎn)。該設(shè)計(jì)方案對(duì)基于STM32F103微處理器實(shí)現(xiàn)的控制電路,在進(jìn)行自主研發(fā)替代設(shè)計(jì)時(shí),具有普遍廣泛的應(yīng)用價(jià)值。