電子技術(shù)隨筆
電子技術(shù)隨筆【第一篇】:電子技術(shù)創(chuàng)新隨筆 據(jù)當(dāng)代學(xué)者考證,“創(chuàng)新”一詞最早出現(xiàn)于北齊史學(xué)家魏收(公元505—572)撰寫的《魏書》?!段簳返诹碓疲骸伴_物成務(wù)者,先皇之貞也;觀夫人文者,先皇之蘊(yùn)也;革弊創(chuàng)新者,先皇之志也。”“創(chuàng)新”一詞,代有使用,“革故鼎新”,“推陳出新”,但我國先前基本都僅用于政治制度的變革與改造。“創(chuàng)新”望文生義便是創(chuàng)造新的。“創(chuàng)新”一詞于近年尤其流行,深入人心,北京已將“創(chuàng)新”列為“北京精神之一。但對于“創(chuàng)新”一詞的概念筆者孤陋寡聞,未見標(biāo)準(zhǔn)解讀,歧義甚多,眾說紛紜。查《現(xiàn)代漢語詞典》的解釋最為簡單:“創(chuàng)新”指創(chuàng)造性,拋開舊的,創(chuàng)造新的。筆者所見最新解釋是2011年5月倫敦商學(xué)院(London Business School)舉辦的全球領(lǐng)導(dǎo)力峰會(huì)(Global Leadership Summit)上,當(dāng)聽眾受邀選擇對創(chuàng)新的定義時(shí),58%的人選擇了最短、最寬泛的答案——來自《經(jīng)濟(jì)學(xué)人》(The Economist)的“創(chuàng)造價(jià)值的新鮮想法”。 百度上百科名片的解釋就繁復(fù)多了:“創(chuàng)新是指人們?yōu)榱税l(fā)展的需要,運(yùn)用已知的信息,不斷突破常規(guī),發(fā)現(xiàn)或產(chǎn)生某種新穎、獨(dú)特的有社會(huì)價(jià)值或個(gè)人價(jià)值的新事物、新思想的活動(dòng)。創(chuàng)新的本質(zhì)是突破,即突破舊的思維定勢,舊的常規(guī)戒律。創(chuàng)新活動(dòng)的核心是“新”,它或者是產(chǎn)品的結(jié)構(gòu)、性能和外部特征的變革,或者是造型設(shè)計(jì)、內(nèi)容的表現(xiàn)形式和手段的創(chuàng)造,或者是內(nèi)容的豐富和完善。”讀來雖甚覺全面,又頗為生澀,即依筆見一孔之見,“創(chuàng)新”也許包括“突破”,也許更多的是“漸進(jìn)”。 英語中有“創(chuàng)造”(invention)和“創(chuàng)新”(innovation)之別,invention是無中生有,創(chuàng)造全新的東西,即所謂創(chuàng)造(發(fā)明);“innovation”是指以舊翻新,改造、更新現(xiàn)有的東西,即所謂革新。前者是所謂“突破性”或“破壞性”發(fā)明,如蒸汽機(jī)、汽車、飛機(jī)、電話、電視機(jī)、計(jì)算機(jī)等;后者是“漸進(jìn)性”革新,如大型高爐、數(shù)控機(jī)床、核能發(fā)電等。2011年,泰勒?考恩(Tyler Cowen)發(fā)表了頗有人氣的短篇小說《大停滯》(The Great Stagnation)指出,今日西方已經(jīng)進(jìn)入了一個(gè)科技高原期:我們已經(jīng)吃光了長在低處的經(jīng)濟(jì)果實(shí),因而經(jīng)濟(jì)增長受到阻礙,從現(xiàn)在起,要想取得進(jìn)步會(huì)更加艱難。該作者的核心觀點(diǎn)是創(chuàng)新突破比以前稀缺了很多,也有人在質(zhì)疑“突破性創(chuàng)新已是過去時(shí)?”今天突破創(chuàng)新不能說沒有,蘋果公司的iPad、iPhone、iPod都算是,但的確十分少見,特別的難能可貴! 電子技術(shù)隨筆【第二篇】:十種精密全波整流電路 圖1的經(jīng)典電路雖然匹配電阻多,但是完全可以用6個(gè)等值電阻R實(shí)現(xiàn),其中電阻R3可以用兩個(gè)R并聯(lián).可以通過R5調(diào)節(jié)增益,增益可以大于1,也可以小于1.最具有優(yōu)勢的是可以在R5上并電容濾波. 圖2的電路的優(yōu)勢是匹配電阻少,只要一對匹配電阻就可以了. 圖3的優(yōu)勢在于高輸入阻抗. 其它幾種,有的在D2導(dǎo)通的半周內(nèi),通過A2的復(fù)合實(shí)現(xiàn)A1的負(fù)反饋,對有些運(yùn)放會(huì)出現(xiàn)自激. 有的兩個(gè)半波的輸入阻抗不相等,對信號源要求較高. 兩個(gè)單運(yùn)放型雖然可以實(shí)現(xiàn)整流的目的,但是輸入\輸出特性都很差.需要輸入\輸出都加跟隨器或同相放大器隔離. 各個(gè)電路都有其設(shè)計(jì)特色,希望我們能從其電路的巧妙設(shè)計(jì)中,吸取有用的.例如單電源全波電路的設(shè)計(jì),復(fù)合反饋電路的設(shè)計(jì),都是很有用的設(shè)計(jì)思想和方法,如果能把各個(gè)圖的電路原理分析并且推導(dǎo)每個(gè)公式,會(huì)有受益的. 電子技術(shù)隨筆【第三篇】:蓄電池在線監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 蓄電池在電力系統(tǒng)中是一種必備的后備電源且數(shù)量較多, 其使用壽命和安全可靠性倍受用戶關(guān)注。但由于使用不當(dāng)或者不能及時(shí)維護(hù),經(jīng)常會(huì)導(dǎo)致蓄電池組中個(gè)別蓄電池的過放電或者早期失效。過放電或者早期失效的個(gè)別 蓄電池在后備電源投入使用時(shí),會(huì)嚴(yán)重影響整個(gè)電池組的放電容量,甚至?xí)?dǎo)致整個(gè)供電系統(tǒng)的崩潰。因此,為保證在市電被切斷時(shí)用電設(shè)備能夠安全可靠運(yùn)行,避 免蓄電池在長期使用過程中因個(gè)別電池過放電或者失效而引發(fā)事故帶來經(jīng)濟(jì)損失,對蓄電池進(jìn)行實(shí)時(shí)在線監(jiān)測和及時(shí)的故障診斷成為蓄電池維護(hù)工作的一個(gè)極為重要 方面。本文介紹的基于STC89C58RD 微控制器的蓄電池在線監(jiān)測系統(tǒng),能實(shí)現(xiàn)對蓄電池?zé)o論在閑置狀態(tài)還是充、放電動(dòng)態(tài)過程中的狀態(tài)監(jiān)測;對蓄電池內(nèi) 部開路、短路、過壓、欠壓及過度放電等異常狀態(tài)及時(shí)報(bào)警并存儲(chǔ)數(shù)據(jù)以備查詢;能對2V、6V和12V多種多節(jié)電池電壓在線測量;提高了對蓄電池監(jiān)測的準(zhǔn)確 性、自動(dòng)化和智能化程度。本文具體介紹了系統(tǒng)的硬件設(shè)計(jì)和軟件實(shí)現(xiàn)。 圖1 系統(tǒng)硬件結(jié)構(gòu)框圖 系統(tǒng)硬件設(shè)計(jì) 蓄電池在線監(jiān)測系統(tǒng)是以STC89系列的STC89C58RD 微控制器、XILINX的XC9572-84為核心,外圍電路主要由電壓采集電路、 A/D轉(zhuǎn)換電路、顯示驅(qū)動(dòng)電路及鍵盤電路等幾部分組成的,如圖1所示。A/D轉(zhuǎn)換芯片采用10位ADC TLC1549。顯示驅(qū)動(dòng)芯片采用MC14489B,它可以驅(qū)動(dòng)5位共陰極數(shù)碼管,微控制器的P1口的低5位作為鍵盤輸入口,擴(kuò)展的RS485接口用于多 機(jī)通信 。下面詳細(xì)介紹系統(tǒng)中STC89C58RD 、XC9572-84器件和電壓采集電路、A/D轉(zhuǎn)換電路的設(shè)計(jì)與實(shí)現(xiàn)。 微控制器STC89C58RD 簡介 STC89C58RD 是STC89系列的微控制器,它不但與80C51完全兼容,而且還有新的特點(diǎn):片內(nèi)含有Flash程序存儲(chǔ)器32Kb, DataFlash數(shù)據(jù)存儲(chǔ)器32Kb,RAM數(shù)據(jù)存儲(chǔ)器1208B,同時(shí)內(nèi)部還有看門狗(WDT);由于ALE信號開關(guān)狀態(tài)可設(shè)置,從而降低了EMI; 具有可編程的8級中斷源4種優(yōu)先級,具有系統(tǒng)可編程(ISP)和應(yīng)用可編程(IAP)等特點(diǎn),片內(nèi)資源豐富、集成度高、使用方便。STC89C58RD 對系統(tǒng)的工作進(jìn)行實(shí)施調(diào)度,實(shí)現(xiàn)外部輸入?yún)?shù)的設(shè)置、電池電壓的測試和顯示、電池工作狀態(tài)的指示。 邏輯編程器件XC9572-84(CPLD) 由于監(jiān)測的電池節(jié)數(shù)較多,所需要I/O口較多,用傳統(tǒng)的設(shè)計(jì)方法,需要74HC273、74HC00、74HC138、CD4514等多種芯片來實(shí) 現(xiàn),器件種類和數(shù)量多,使PCB的尺寸加大,也增加了系統(tǒng)的不穩(wěn)定因素。本系統(tǒng)選用XILINX系列的CPLD器件XC9572-84,其共有72個(gè)宏單 元,69個(gè)I/O口,1600個(gè)門,72個(gè)寄存器,可以對上述多種芯片進(jìn)行集成。該器件具有在系統(tǒng)可編程能力,含有先進(jìn)的數(shù)據(jù)保密特性,它可以完全保護(hù)編 程數(shù)據(jù)不被非法讀取和擦除,每個(gè)I/O口都有一個(gè)可編程輸出擺率控制位從而可減小系統(tǒng)噪聲,采用具有較低功耗的快速閃存技術(shù),每個(gè)I/O口的驅(qū)動(dòng)能力強(qiáng), 負(fù)載電流可達(dá)24mA。XC9572-84接收單片機(jī)傳來的數(shù)據(jù)和地址,控制各個(gè)固態(tài)繼電器(G3VM-402C)的選通以及A/D轉(zhuǎn)換的進(jìn)行,達(dá)到采集 電壓的功能。采用了CPLD器件后,減少了系統(tǒng)所需器件的數(shù)量和種類,簡化了PCB的排版和布線,減小了系統(tǒng)體積和節(jié)約成本,方便了系統(tǒng)調(diào)試,有利于批量 化生產(chǎn)。 電壓采集電路 電壓采集電路直接影響到電壓測試的精確程度,因而采集電路設(shè)計(jì)得是否適當(dāng)對整個(gè)系統(tǒng)至關(guān)重要。對每節(jié)電池電壓進(jìn)行測量,有兩種方法:①對每節(jié)電池電 壓直接采集。②采集(n 1)節(jié)電池的總電壓,減去n節(jié)電池的總電壓得第n 1節(jié)電池電壓。第一種電壓采集精確而且安全。第二種雖然電路比較簡單但是當(dāng)電 池節(jié)數(shù)多時(shí)采集的電壓太高,不安全而且會(huì)出現(xiàn)較大的誤差。因此選用第一種方法。電壓采集電路要求要安全,采集的電壓要足夠的穩(wěn)定。本系統(tǒng)的蓄電池組采用串 接方式,BAT1 接第一節(jié)電池的正極,BAT2 接第二節(jié)的正極(第一節(jié)的負(fù)極),如此依次連接,最多可達(dá)41節(jié)。經(jīng)過XC9572-84模擬開關(guān)選通 G3VM-402C后,將1~n節(jié)電池電壓依次釋放到電壓總線BUS1 、BUS1-上,電路選用運(yùn)算放大器LM358作為信號放大器件,它的前級為差分 式放大器,后級為電壓跟隨器,使TLC1549得到一個(gè)穩(wěn)定的采樣電壓,如圖2所示。1VD0和1VD1采用FR104高速開關(guān)管來保護(hù)運(yùn)算放大器的內(nèi)部 電路。差分式放大倍數(shù)為A=0.2,具體推導(dǎo)如下: (Ua-Up)/1R12=Up/1R14; ① (Ub-Un)/1R11=(Un-Vo)/1R13;② 注意運(yùn)放的“虛短”特點(diǎn),有Up=Un;結(jié)合①、②兩式得到Vo=((1R11 1R13)/1R11)·(1R14/(1R12 1R14))·Ua-1R13/1R11·Ub;選取電阻滿足:1R13/1R11=1R14/1R12的關(guān)系,輸出電壓可簡化為:Vo=1R13/1R11·(Ua-Ub),故電壓放大倍數(shù)A=Vo/(Ua-Ub)=1R13/1R11=0.2。 A/D轉(zhuǎn)換電路 本系統(tǒng)A/D轉(zhuǎn)換采用片外串行總線10位高速高精度專用集成電路TLC1549,其功耗低、體積小、占用單片機(jī)的資源少,具有連接方便、編程簡單的 特點(diǎn)。電壓采集電路的輸出電壓與TLC1549的A/D轉(zhuǎn)換通道相連接,在時(shí)鐘脈沖信號作用下,TLC1549將電壓轉(zhuǎn)換成10位二進(jìn)制數(shù)字信號,并把上 次A/D轉(zhuǎn)換的結(jié)果以10位二進(jìn)制數(shù)的形式依次輸出,再通過光電隔離傳送到單片機(jī)進(jìn)行處理,如圖3所示。 硬件設(shè)計(jì)過程中的注意點(diǎn) 1 系統(tǒng)用多路電源,要考慮系統(tǒng)的功耗選擇適當(dāng)?shù)碾娫?,電源電壓?yīng)比較穩(wěn)定。 2 電壓采集部分使用固態(tài)繼電器(G3VM-402C),由于電池節(jié)數(shù)較多,電壓比較高,故應(yīng)注意對內(nèi)部電路的保護(hù),可以采用適當(dāng)功率的電阻。對放大電路的電 阻精度要求較高,可選用精度為1%的金屬膜電阻;電路設(shè)計(jì)應(yīng)避免出現(xiàn)因多個(gè)固態(tài)繼電器同時(shí)開通的直通現(xiàn)象,這樣會(huì)使多節(jié)蓄電池短路,造成電壓采集電路的損 壞。 3 A/D轉(zhuǎn)換芯片的基準(zhǔn)電源要十分穩(wěn)定,基準(zhǔn)電源與芯片工作電源應(yīng)采用不同的共地電源,以保證A/D轉(zhuǎn)換芯片基準(zhǔn)電源的穩(wěn)定性。為了減少干擾,時(shí)鐘和片選信號與單片機(jī)、CPLD之間進(jìn)行光電隔離。 4 器件的布局和PCB圖的布線采用模塊化,交流與直流分離,強(qiáng)電與弱電分離,數(shù)字地和模擬地分開,注意電源線和地線的布局。 系統(tǒng)軟件設(shè)計(jì) 在單片機(jī)的軟件編程上,以Keil C編譯器的Windows集成開發(fā)環(huán)境 μvision2作為軟件開發(fā)平臺(tái),采用C51高級語言編寫。該語言是80C51系列單片機(jī)的專門的高性能的程序設(shè)計(jì)語言。它采用符合ANSI標(biāo)準(zhǔn)的C語 言編程,便于改進(jìn)、擴(kuò)充和移植,可以對硬件進(jìn)行操作,能夠產(chǎn)生極高速和極其簡潔形式的目標(biāo)代碼,在代碼的效率和執(zhí)行速度上完全可以和匯編語言相媲美,并且 有十分豐富的庫函數(shù)可以供用戶直接調(diào)用,從而極大地提高了程序的編寫效率,能提供給用戶高質(zhì)量的程序代碼。采用硬件描述語言Verilog HDL對CPLD進(jìn)行編程。 單片機(jī)軟件編程注意點(diǎn) 1 鍵盤在定時(shí)中斷服務(wù)程序中讀取,用中斷間隔時(shí)間實(shí)現(xiàn)鍵盤的去抖,不必編寫另外的延時(shí)程序,提高了CPU的利用效率。鍵盤值存入數(shù)據(jù)緩沖區(qū),在主程序中讀數(shù)據(jù)緩沖區(qū)的內(nèi)容,執(zhí)行鍵盤功能散轉(zhuǎn)子程序。 2 電池電壓的采集在中斷程序中執(zhí)行,因固態(tài)繼電器的開通與關(guān)斷時(shí)間均需1ms,故通道選通時(shí)要有一定的延時(shí),使電池采集電壓建立并穩(wěn)定后再啟動(dòng)A/D轉(zhuǎn)換。 3 根據(jù)A/D轉(zhuǎn)換芯片TLC1549的工作原理,當(dāng)前輸出的數(shù)據(jù)是上一次A/D轉(zhuǎn)換的結(jié)果, 故對一節(jié)電池電壓采樣的首次A/D轉(zhuǎn)換結(jié)果應(yīng)丟棄,其余幾次轉(zhuǎn)換結(jié)果保留并加以處理。 4 根據(jù)STC89C58RD 的DataFlash 的特點(diǎn),數(shù)據(jù)寫入時(shí)必須啟動(dòng)ISP/IAP命令,CPU等待IAP動(dòng)作定時(shí)后,才繼續(xù)執(zhí)行程序,要先關(guān)斷中斷(EA)。要使數(shù)據(jù)寫入DataFlash存 儲(chǔ)器,不能跨越扇區(qū),如果要對某個(gè)扇區(qū)進(jìn)行擦除,而其中有些字節(jié)的內(nèi)容需要保護(hù),則需將其先讀到單片機(jī)內(nèi)部的RAM中保存,再將該扇區(qū)擦除,然后再將保存 的數(shù)據(jù)寫回該扇區(qū)。 CPLD的Verilog HDL編程 用硬件描述語言Verilog HDL的程序設(shè)計(jì)硬件的好處在于易于理解、易于維護(hù)、調(diào)試電路速度快、有許多易于掌握的仿真、綜合和布局布線的工具,還可以用C語言配合Verilog HDL來做邏輯設(shè)計(jì)的布線前和布線后仿真,驗(yàn)證功能是否正確。限于篇幅,下面給出部分模塊的Verilog HDL程序 module REG8 ( CLRB, D, CLK, Q ); //8位數(shù)據(jù)鎖存 input CLRB, CLK; input [7:0] D; output [7:0] Q; reg [7:0] Q; always @( posedge CLK or negedge CLRB ) Q <= ( !CLRB )? 0: D; endmodule module DECODE4_16( E1,A,Y ); //4-16譯碼 input E1; input [3:0] A; output [15:0] Y; reg [15:0] Y; always @( E1 or A ) if(E1==0 ) begin case(A) 0:Y=16'b1111111111111110; 1:Y=16'b1111111111111101; 2:Y=16'b1111111111111011; 3:Y=16'b1111111111110111; 4:Y=16'b1111111111101111; 5:Y=16'b1111111111011111; 6:Y=16'b1111111110111111; 7:Y=16'b1111111101111111; 8:Y=16'b1111111011111111; 9:Y=16'b1111110111111111; 10:Y=16'b1111101111111111; 11:Y=16'b1111011111111111; 12:Y=16'b1110111111111111; 13:Y=16'b1101111111111111; 14:Y=16'b1011111111111111; 15:Y=16'b0111111111111111; endcase end else Y=16'b1111111111111111;endmodule 電子技術(shù)隨筆【第四篇】:深入理解C語言指針的奧秘3 從格式上看倒是與通過指針訪問結(jié)構(gòu)成員的不正規(guī)方法的格式一樣。 所有的C/C 編譯器在排列數(shù)組的單元時(shí),總是把各個(gè)數(shù)組單元存放在連續(xù)的存儲(chǔ)區(qū)里,單元和單元之間沒有空隙。但在存放結(jié)構(gòu)對象的各個(gè)成員時(shí),在某種編譯環(huán)境下,可能會(huì)需要字對齊或雙字對齊或者是別的什么對齊,需要在相鄰兩個(gè)成員之間加若干個(gè)"填充字節(jié)",這就導(dǎo)致各個(gè)成員之間可能會(huì)有若干個(gè)字節(jié)的空隙。 所以,在例十二中,即使*pstr訪問到了結(jié)構(gòu)對象ss的第一個(gè)成員變量a,也不能保證*(pstr 1)就一定能訪問到結(jié)構(gòu)成員b。因?yàn)槌蓡Ta和成員b之間可能會(huì)有若干填充字節(jié),說不定*(pstr 1)就正好訪問到了這些填充字節(jié)呢。這也證明了指針的靈活性。要是你的目的就是想看看各個(gè)結(jié)構(gòu)成員之間到底有沒有填充字節(jié),嘿,這倒是個(gè)不錯(cuò)的方法。 過指針訪問結(jié)構(gòu)成員的正確方法應(yīng)該是象例十二中使用指針ptr的方法。 指針和函數(shù)的關(guān)系 可以把一個(gè)指針聲明成為一個(gè)指向函數(shù)的指針。intfun1(char*,int); int(*pfun1)(char*,int); pfun1=fun1; .... .... inta=(*pfun1)("abcdefg",7);//通過函數(shù)指針調(diào)用函數(shù)。 可以把指針作為函數(shù)的形參。在函數(shù)調(diào)用語句中,可以用指針表達(dá)式來作為實(shí)參。 例十三: intfun(char*); inta; charstr[]="abcdefghijklmn"; a=fun(str); ... ... intfun(char*s) { intnum=0; for(inti=0;i{ num =*s;s ; } returnnum; } 這個(gè)例子中的函數(shù)fun統(tǒng)計(jì)一個(gè)字符串中各個(gè)字符的ASCII碼值之和。前面說了,數(shù)組的名字也是一個(gè)指針。在函數(shù)調(diào)用中,當(dāng)把str作為實(shí)參傳遞給形參s后,實(shí)際是把str的值傳遞給了s,s所指向的地址就和str所指向的地址一致,但是str和s各自占用各自的存儲(chǔ)空間。在函數(shù)體內(nèi)對s進(jìn)行自加1運(yùn)算,并不意味著同時(shí)對str進(jìn)行了自加1運(yùn)算。 指針類型轉(zhuǎn)換 當(dāng)我們初始化一個(gè)指針或給一個(gè)指針賦值時(shí),賦值號的左邊是一個(gè)指針,賦值號的右邊是一個(gè)指針表達(dá)式。在我們前面所舉的例子中,絕大多數(shù)情況下,指針的類型和指針表達(dá)式的類型是一樣的,指針?biāo)赶虻念愋秃椭羔槺磉_(dá)式所指向的類型是一樣的。 例十四: 1、floatf=12.3; 2、float*fptr= |