經(jīng)典-電子設(shè)計(jì)教程及電子電路設(shè)計(jì)分析.doc
《經(jīng)典-電子設(shè)計(jì)教程及電子電路設(shè)計(jì)分析.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《經(jīng)典-電子設(shè)計(jì)教程及電子電路設(shè)計(jì)分析.doc(335頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
目錄 目錄 1 第 1 章 軟件使用介紹 6 1 1 WAVE 使用介紹 6 1 1 1 仿真器介紹 6 1 1 2 軟件安裝步驟 7 1 1 3 軟件使用介紹 8 1 1 4 開(kāi)發(fā)流程 28 1 2 KEIL 使用介紹 31 1 2 1 Keil 簡(jiǎn)介 32 1 2 2 開(kāi)發(fā)流程 32 1 2 3 調(diào)試與匯編 37 1 3 AT89S52 在系統(tǒng)調(diào)試的原理與實(shí)現(xiàn) 40 1 3 1 Isd51 簡(jiǎn)介 40 1 3 2 Isd51使用方法 41 1 3 3 Isd51 原理分析 44 1 4 QUARTUS 使用介紹 44 1 4 1 Quartus 基本設(shè)計(jì)流程 45 1 4 2 設(shè)計(jì)輸入 47 1 4 3 工程項(xiàng)目的建立 49 1 4 4 項(xiàng)目管理 50 1 4 5 設(shè)計(jì)輸入 52 1 4 6 編譯 55 1 4 7 仿真 58 1 4 8 配置和下載 58 第 2 章 常用器件使用介紹 61 2 1 集成運(yùn)算放大器的使用 61 2 1 1 運(yùn)算放大器結(jié)構(gòu)分析 61 2 1 2 精密型集成運(yùn)算放大器 62 2 1 3 寬帶集成運(yùn)算放大器 63 2 1 4 通用集成運(yùn)算放大器 64 2 1 5 濾波器的實(shí)現(xiàn) 65 2 1 6 小結(jié) 66 2 2 AD620 的使用及性能分析 67 2 2 1 AD620 介紹 67 2 2 2 AD620 應(yīng)用 68 2 3 常用 A D 轉(zhuǎn)換芯片 68 2 3 1 A D 轉(zhuǎn)換器的選擇與使用 69 2 3 2 A D 轉(zhuǎn)換芯片 1 ADC0809 72 2 3 3 A D 轉(zhuǎn)換芯片 2 AD574 75 2 3 4 A D 轉(zhuǎn)換芯片 3 MAX197 78 2 3 5 A D 轉(zhuǎn)換芯片 4 TLC5510 81 2 3 6 A D 轉(zhuǎn)換芯片 5 MAX114 MAX118 84 2 4 常用 D A 轉(zhuǎn)換芯片 87 2 4 1 D A 轉(zhuǎn)換芯片 1 DAC0832 DAC0800 87 2 4 2 D A 轉(zhuǎn)換芯片 2 MX7228 91 2 5 集成 DDS 芯片 AD9851 應(yīng)用 92 2 5 1 AD9851 概述 92 2 5 2 AD9851引腳說(shuō)明 93 2 5 3 AD9851 特性介紹 94 2 5 4 AD9851 控制原理 94 2 5 5 AD9851 在信號(hào)源中的應(yīng)用 95 2 5 6 小結(jié) 97 2 6 LCD 液晶顯示器 的應(yīng)用 97 2 6 1 字符型液晶顯示器 97 2 6 2 點(diǎn)陣式液晶顯示器 103 2 7 傳感器 111 2 7 1 常用傳感器介紹 111 2 7 2 超聲傳感器及其應(yīng)用 115 第 3 章 典型應(yīng)用電路 120 3 1 限幅放大電路 120 3 2 運(yùn)放參數(shù)測(cè)試電路 121 3 2 1 運(yùn)放參數(shù)測(cè)量介紹 122 3 2 2 輔助運(yùn)放法通用測(cè)量電路設(shè)計(jì) 123 3 3 鎖相技術(shù)原理與應(yīng)用 125 3 3 1 鎖相環(huán)概述 125 3 3 2 鎖相環(huán)應(yīng)用舉例 126 3 3 3 集成鎖相環(huán)芯片介紹 127 3 4 峰值 有效值測(cè)量的模擬實(shí)現(xiàn) 130 3 4 1 峰值檢波電路 130 3 4 2 真有效值檢波 131 3 5 AGC 電路 132 3 5 1 場(chǎng)效應(yīng)管和運(yùn)放實(shí)現(xiàn) 132 3 5 2 單片機(jī)控制實(shí)現(xiàn) 133 3 5 3 可變?cè)鲆娣糯笃鲗?shí)現(xiàn) 133 3 6 功率放大電路 137 3 7 步進(jìn)電機(jī)的驅(qū)動(dòng)與控制 139 3 7 1 步進(jìn)電機(jī)概述 140 3 7 2 步進(jìn)電機(jī)的控制原理 140 3 7 3 步進(jìn)電機(jī)的的控制 141 3 7 4 步進(jìn)電機(jī)的的驅(qū)動(dòng)電路 141 3 8 手寫板技術(shù)及其在單片機(jī)系統(tǒng)中的應(yīng)用 143 3 8 1 手寫板工作原理 144 3 8 2 手寫板解碼 144 3 8 3 手寫板與單片機(jī)的硬件連接 145 3 8 4 手寫板實(shí)現(xiàn)的軟件設(shè)計(jì) 146 3 8 5 手寫板功能擴(kuò)展 147 第 4 章 典型應(yīng)用技術(shù) 149 4 1 頻率合成與 DDS 149 4 1 1 信號(hào)產(chǎn)生方案與原理 149 4 1 2 DDS 理論設(shè)計(jì) 150 4 1 3 DDS 實(shí)現(xiàn) 151 4 2 等精度頻率計(jì)的實(shí)現(xiàn) 152 4 2 1 頻率測(cè)量方案 152 4 2 2 相關(guān)計(jì)數(shù)測(cè)頻法的實(shí)現(xiàn) 153 4 2 3 寬帶高精度測(cè)頻的實(shí)現(xiàn) 153 4 3 相位測(cè)量技術(shù) 154 4 3 1 波形分析法 155 4 3 2 相位 電壓轉(zhuǎn)換法 155 4 3 3 計(jì)數(shù)法 156 4 3 4 相位測(cè)量的實(shí)現(xiàn) 157 4 4 峰值 有效值測(cè)量的數(shù)字實(shí)現(xiàn) 158 4 4 1 數(shù)字法實(shí)現(xiàn)峰值測(cè)量原理 158 4 4 2 數(shù)字法實(shí)現(xiàn)有效值測(cè)量原理 159 4 4 3 峰值 有效值測(cè)量小結(jié) 160 4 5 交流功率控制技術(shù) 161 4 5 1 調(diào)功法 161 4 5 2 調(diào)相法 162 第 5 章 算法簡(jiǎn)介 164 5 1 數(shù)字 PID 控制算法 164 5 1 1 PID 控制系統(tǒng)簡(jiǎn)介 164 5 1 2 PID 參數(shù)控制效果分析 164 5 1 3 數(shù)字 PID 控制的實(shí)現(xiàn) 165 5 1 4 PID 算法的飽和特性 166 5 1 5 PID 參數(shù)整定方法 167 5 2 大林算法 171 5 3 模糊控制算法 173 5 3 1 模糊控制概述 173 5 3 2 模糊控制原理 173 5 3 3 模糊控制器設(shè)計(jì) 174 5 3 4 小結(jié) 175 5 4 運(yùn)動(dòng)控制算法 176 5 4 1 產(chǎn)生線段的整數(shù) Bresenham 算法 176 5 4 2 產(chǎn)生圓的整數(shù) Bresenham 算法 178 5 5 其它控制算法 181 5 6 壓縮算法 182 5 6 1 無(wú)損壓縮 182 5 6 2 有損壓縮 183 5 6 3 壓縮算法應(yīng)用 185 5 7 軟件濾波 186 5 7 1 限幅濾波 187 5 7 2 中值濾波 187 5 8 3 算術(shù)平均濾波 187 5 7 4 遞推平均濾波 187 5 7 5 中值平均濾波 188 5 7 6 限幅平均濾波 188 5 7 7 一階滯后濾波 188 5 7 8 加權(quán)遞推平均濾波 188 5 7 9 消抖濾波 189 5 7 10 限幅消抖濾波 189 第 6 章 系統(tǒng)設(shè)計(jì) 190 6 1 控制類系統(tǒng)設(shè)計(jì) 190 6 1 1 水溫控制系統(tǒng) 190 6 1 2 懸掛運(yùn)動(dòng)控制系統(tǒng) 195 6 1 3 電梯控制模型 201 6 2 儀器類系統(tǒng)設(shè)計(jì) 204 6 2 1 函數(shù)信號(hào)發(fā)生器 205 6 2 2 簡(jiǎn)易遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng) 210 6 2 3 低頻相位測(cè)量?jī)x 219 6 2 4 寬帶放大器 222 6 2 5 簡(jiǎn)易數(shù)字頻譜分析儀 230 6 2 6 集成運(yùn)放參數(shù)測(cè)試儀 238 6 2 7 簡(jiǎn)易數(shù)字存儲(chǔ)示波器 249 6 3 其它類系統(tǒng)設(shè)計(jì) 255 6 3 1 電話自動(dòng)接聽(tīng)系統(tǒng) 256 6 3 2 簡(jiǎn)易智能小車 260 6 3 3 單工無(wú)線呼叫系統(tǒng) 268 附錄 A 常用抗干擾技術(shù) 293 1 數(shù)字系統(tǒng)與模擬系統(tǒng) 293 2 電源的干擾與抑制 294 3 接地技術(shù) 294 4 隔離技術(shù)與屏蔽線的使用 295 5 濾波技術(shù) 296 6 常用芯片的抗干擾措施 297 7 自激振蕩及其消除方法 298 8 PCB 制版 298 附錄 B 8051 或者在中斷函數(shù)中調(diào)用了其他的函數(shù) 例如 void func2 默認(rèn) using 0 void int1 srv interrupt 2 using 2 func2 Listing 標(biāo)簽頁(yè)用于調(diào)整生成的列表文件選項(xiàng) 在匯編或編譯完成后將產(chǎn)生 lst 的列表文件 在連接完成后也將產(chǎn)生 m51 的列表文件 該頁(yè)用于對(duì)列表 文件的內(nèi)容和形式進(jìn)行細(xì)致的調(diào)節(jié) 其中比較常用的選項(xiàng)是 C Compile Listing 下的 Assembly Code 項(xiàng) 選中該項(xiàng)可以在列表文件中生成 C 語(yǔ)言源程序所對(duì)應(yīng) 的匯編代碼 一般來(lái)說(shuō) 除了上面介紹的設(shè)置以外 其他的選項(xiàng)卡保持默認(rèn)設(shè)置即可 4 編譯 連接 在設(shè)置好工程后 即可進(jìn)行編譯 連接 選擇菜單欄上的 Project Build target 對(duì)當(dāng)前工程進(jìn)行連接 如果當(dāng)前文件已修改 軟件會(huì)先對(duì)文件進(jìn)行編譯 然后再連接以產(chǎn)生目標(biāo)代碼 點(diǎn)擊工具欄上的 Rebuild all target files 按鈕 將會(huì)對(duì)當(dāng)前工程中的所有文件 重新進(jìn)行編譯然后連接 Translate 項(xiàng)僅對(duì)該文件進(jìn)行編譯 不進(jìn)行連接 如圖 1 32所示 圖 1 32 編譯按鈕 編譯完成之后會(huì)在輸出窗口中的 Build 頁(yè)中顯示編譯結(jié)果 包括程序中的 語(yǔ)法錯(cuò)誤 警告等等 圖 1 33 編譯結(jié)果顯示 如圖 1 33 所示中的 0 Error s 0 Warning s 是比較好的情況 但只是沒(méi)有 語(yǔ)法錯(cuò)誤 而程序的邏輯錯(cuò)誤和算法錯(cuò)誤是不可能被檢測(cè)出來(lái)的 如果源程序 中有語(yǔ)法錯(cuò)誤 會(huì)有錯(cuò)誤報(bào)告出現(xiàn) 雙擊該行 可以定位到出錯(cuò)的位置 另外 在此信息窗口中 還有程序占用資源的信息 Program Size 分別顯 示了程序中使用了多少的 data xdata 和 code 空間 其中 data 的占用空間包括 data 和 idata 即片內(nèi) RAM 的低 128 字節(jié)和擴(kuò)展的 128 字節(jié) xdata 即為前面提 到的外部 RAM 空間 但不會(huì)統(tǒng)計(jì)絕對(duì)地址訪問(wèn)所占用的外部空間 code 表示 代碼大小 89S52 擁有 8192 字節(jié)的代碼空間 1 2 3 調(diào)試與匯編 在建立工程 匯編 連接工程 并獲得目標(biāo)代碼后 僅代表源程序沒(méi)有語(yǔ) 法錯(cuò)誤 至于源程序中存在的其他錯(cuò)誤 必須通過(guò)調(diào)試才能發(fā)現(xiàn)并解決 因此 調(diào)試是軟件開(kāi)發(fā)中的重要環(huán)節(jié) 通常利用調(diào)試命令 在線匯編和設(shè)置斷點(diǎn)來(lái)進(jìn) 行程序調(diào)試 1 常用調(diào)試命令 對(duì)工程成功地進(jìn)行匯編 連接以后 按 Ctrl F5 或者使用菜單欄中的 Debug Start Stop Debug Session 即可進(jìn)入調(diào)試狀態(tài) Keil 內(nèi)建了一個(gè)仿真 CPU 用來(lái)模擬執(zhí)行程序 可以在沒(méi)有硬件和仿真機(jī)的情況下進(jìn)行程序的調(diào)試 當(dāng)然 模擬畢竟是模擬 與真實(shí)的硬件執(zhí)行程序肯定是有區(qū)別的 其中最明顯的是軟 件模擬是不可能和真實(shí)硬件具有相同的時(shí)序的 進(jìn)入調(diào)試狀態(tài)后 界面與編輯狀態(tài)相比有明顯的變化 Debug 菜單中原來(lái) 不能用的命令現(xiàn)在已可以使用了 同時(shí)工具欄會(huì)多出一個(gè)用于運(yùn)行和調(diào)試的工 具條 如圖 1 34所示 圖 1 34 調(diào)試工具條 此工具條為 Debug 菜單上的大部分命令的快捷按鈕 從左到右依次為復(fù)位 運(yùn)行 暫停 單步 過(guò)程單步 執(zhí)行完當(dāng)前子程序 運(yùn)行到當(dāng)前行 下一狀態(tài) 打開(kāi)跟蹤 觀察跟蹤 反匯編窗口 觀察窗口 代碼作用范圍分析 1 串行窗 口 內(nèi)存窗口 性能分析 工具按鈕等命令 在程序調(diào)試中 全速執(zhí)行是指一行程序執(zhí)行完后緊接著執(zhí)行下一行程序 可以看到程序執(zhí)行的總體效果 但如果程序有錯(cuò) 則難以確認(rèn)錯(cuò)誤出現(xiàn)在哪些 程序行 單步執(zhí)行是每次執(zhí)行一行程序 可以觀察到每行程序的運(yùn)行結(jié)果 使用快捷鍵 F11 可以單步執(zhí)行程序 使用快捷鍵 F10 可以過(guò)程單步執(zhí)行程 序 所謂過(guò)程單步 是指將匯編語(yǔ)言中的子程序或高級(jí)語(yǔ)言中的函數(shù)作為一個(gè) 語(yǔ)句來(lái)全速執(zhí)行 按下 F11 鍵 源程序窗口的左邊出現(xiàn)黃色調(diào)試箭頭 每按一次 F11 鍵 即 執(zhí)行該箭頭所指程序行 然后箭頭指向下一行 通過(guò)單步執(zhí)行程序 可以找出一些問(wèn)題的所在 但僅靠單步執(zhí)行來(lái)查錯(cuò)有 時(shí)效率很低 在調(diào)試過(guò)程中遇到子程序時(shí)常用的方法有 第一 用鼠標(biāo)在子程 序的最后一行點(diǎn)一下 將光標(biāo)定位于該行 然后選擇菜單欄里的 Debug Run to Cursor line 執(zhí)行到光標(biāo)所在行 第二 進(jìn)入子程序后 選擇菜單欄里的 Debug Step Out of Current Function 單步執(zhí)行到該函數(shù)外 可以全速執(zhí)行完調(diào) 試光標(biāo)所在的子程序并指向主程序中的下一行程序 第三 按 F10 進(jìn)行單步執(zhí) 行 2 在線匯編 在進(jìn)入 Keil 調(diào)試環(huán)境后 如果程序有錯(cuò) 可以直接對(duì)源程序進(jìn)行修改 但 是要使修改后的代碼起作用 必須先退出調(diào)試環(huán)境 重新進(jìn)行編譯 連接后再 次進(jìn)入調(diào)試 如果只是需要對(duì)某些程序進(jìn)行修改 或僅需對(duì)源程序進(jìn)行臨時(shí)修 改 這樣的程序過(guò)于繁冗 為此 Keil 提供了在線匯編能力 將光標(biāo)定位于需要修改的程序行上 使用菜單里的 Debug Inline Assembly 彈出 Inline Assembler 對(duì)話框 在 Enter New 后面的編輯框內(nèi)直接輸 入需要改的程序語(yǔ)句 輸入完后鍵入回車將自動(dòng)指向下一條語(yǔ)句 可以繼續(xù)修 改 如果不再需要修改 可點(diǎn)擊右上角的關(guān)閉按鈕 圖 1 35 在線匯編窗口 3 斷點(diǎn)設(shè)置 程序調(diào)試時(shí) 一些程序必須滿足一定的條件才能被執(zhí)行到 如程序中某變量 達(dá)到一定的值 按鍵被按下 串口接收到數(shù)據(jù) 有中斷產(chǎn)生等 這些條件往往 難以預(yù)先設(shè)定 這類問(wèn)題使用單步執(zhí)行很難調(diào)試 需要用到斷點(diǎn)設(shè)置 可以將光標(biāo)定位于需要設(shè)置斷點(diǎn)的程序行 使用菜單 Debug Insert Remove Breakpoint 設(shè)置或移除斷點(diǎn) 或使用鼠標(biāo)在該行雙擊實(shí)現(xiàn)同樣的 功能 Debug Kill All Breakpoint 用于清除所有的斷點(diǎn)設(shè)置 1 2 4 Keil C 編譯器常見(jiàn)警告與錯(cuò)誤信息的解決方法 在 Keil C 編譯時(shí)常見(jiàn)的警告與錯(cuò)誤信息及其解決方案列舉如下 了解這些 有助于快速解決問(wèn)題 提高編譯效率 1 Warning 280 i unreferenced local variable 說(shuō)明 局部變量 i 在函數(shù)中未作任何的存取操作 解決方法 消除函數(shù)中 i 變量的宣告 2 Warning 206 Music3 missing function prototype 說(shuō)明 Music3 函數(shù)未作宣告或未作外部宣告 所以無(wú)法被其他函數(shù)調(diào)用 解決方法 將敘述 void Music3 void 寫在程序的最前端作宣告 如果是其 他文件的函數(shù) 則要寫成 extern void Music3 void 即作外部宣告 3 Compling C 8051 MANN C Error 318 can t open file beep h 說(shuō)明 在編譯 C 8051 MANN C 程序過(guò)程中 main c 用了指令 include beep h 但卻找不到文件 解決方法 編寫一個(gè) beep h 的包含檔并存入到 c 8051 的工作目錄中 4 Compling C 8051 LED C Error 237 LedOn function already has a body 說(shuō)明 LedOn 函數(shù)名稱重復(fù)定義 即有兩個(gè)以上一樣的函數(shù)名稱 解決方法 修正其中的一個(gè)函數(shù)名稱使得函數(shù)名稱都是獨(dú)立的 5 WARNING 16 UNCALLED SEGMENT IGNORED FOR OVERLAY PROCESS SEGMENT PR DELAYX1MS DELAY 說(shuō)明 DelayX1ms 函數(shù)未被其它函數(shù)調(diào)用 也會(huì)占用程序記憶體空間 解決方法 去掉 DelayX1ms 函數(shù) 或利用條件編譯 if end if 可保留 該函數(shù)并不編譯 6 WARNING 6 XDATA SPACE MEMORY OVERLAP FROM 0025H TO 0025H 說(shuō)明 外部資料 ROM 的 0025H 重復(fù)定義地址 解決方法 外部資料 ROM 的定義如下 Pdata unsigned char XFR ADC at 0 x25 其中 XFR ADC 變量的名稱為 0 x25 請(qǐng)檢查是否有其它的變量名稱也 是定義在 0 x25 處并修正它 7 WARNING 206 DelayX1ms missing function prototype C 8051 INPUT C Error 267 DelayX1ms requires ANSI style prototype C 8051 INPUT C 說(shuō)明 程序中有調(diào)用 DelayX1ms 函數(shù) 但該函數(shù)沒(méi)定義 即未編寫程序 內(nèi)容或函數(shù)已定義但未作宣告 解決方法 編寫 DelayX1ms 的內(nèi)容 編寫完后也要作宣告或作外部宣告 可在 delay h 的包含檔宣告成外部 以便其它函數(shù)調(diào)用 8 WARNING 1 UNRESOLVED EXTERNAL SYMBOL SYMBOL MUSIC3 MODULE C 8051 MUSIC OBJ MUSIC WARNING 2 REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL MUSIC3 MODULE C 8051 MUSIC OBJ MUSIC ADDRESS 0018H 說(shuō)明 程序中有調(diào)用 MUSIC 函數(shù) 但未將該函數(shù)的含擴(kuò)檔 C 加入到工 程檔 Prj 作編譯和連接 解決方法 設(shè) MUSIC3 函數(shù)在 MUSIC C 里 將 MUSIC C 添加到工程 文件中去 9 ERROR 107 ADDESS SPACE OVERFLOW SPACE DATA SEGMENT DATA GOUP LENGTH 0018H ERROR 118 REFERENCE MADE TO ERRONEOUS EXTERNAL SYMBOL VOLUME MODULE C 8051 OSDM OBJ OSDM ADDRESS 4036H 說(shuō)明 data 存儲(chǔ)空間的地址范圍為 0 0 x7f 當(dāng)公用變量數(shù)目和函數(shù)里的局部 變量如果存儲(chǔ)模式設(shè)為 SMALL 則局部變量先使用工作寄存器 R2 R7 作暫存 當(dāng)存儲(chǔ)器不夠用時(shí)則會(huì)以 data 型別的空間作暫存的個(gè)數(shù)超過(guò) 0 x7f 時(shí)就會(huì)出現(xiàn) 地址不夠的現(xiàn)象 解決方法 將以 data 型別定義的公共變量修改為 idata 型別的定義 1 3 AT89s52 在系統(tǒng)調(diào)試的原理與實(shí)現(xiàn) Keil 公司在它的集成開(kāi)發(fā)環(huán)境 Keil7 0 以上版本中提供了一種新型的在系統(tǒng) 調(diào)試工具 Isd51 可以在不需要硬件仿真器的情況下 借助于串口僅使用單片機(jī) 就能實(shí)現(xiàn)包括單步實(shí)行 斷點(diǎn)功能 片內(nèi)寄存器的修改等仿真功能 本文通過(guò)介紹 isd51 的使用方法 對(duì)如何在系統(tǒng)調(diào)試進(jìn)行簡(jiǎn)要介紹 1 3 1 Isd51 簡(jiǎn)介 電子設(shè)計(jì)時(shí)常會(huì)遇到這樣的情況 將仿真器插在系統(tǒng)中仿真時(shí)系統(tǒng)運(yùn)行正 常 但將程序燒入單片機(jī)后 將燒錄好的單片機(jī)插入系統(tǒng)卻出現(xiàn)運(yùn)行不正確 這是由于對(duì)于仿真器而言 它的仿真只是逼近實(shí)際芯片的理想功能 但不同的 芯片必然會(huì)有不同的實(shí)際情況 當(dāng)芯片本身存在制作誤差時(shí)就會(huì)發(fā)生這種現(xiàn)象 同時(shí) 一般的仿真機(jī)是一個(gè)較大的系統(tǒng) 不可避免地會(huì)將大量噪聲引入系統(tǒng) 為系統(tǒng)中的小信號(hào)處理增加了困難 Isd51 是一個(gè)完全用軟件來(lái)實(shí)現(xiàn)的在系統(tǒng)調(diào)試工具 除了一個(gè)和 PC 機(jī)相連 的串口外 不需要任何的外圍硬件支持 也就是說(shuō) Isd51 是通過(guò)單片機(jī)自己來(lái) 實(shí)現(xiàn)對(duì)自己的調(diào)試 這樣從最初開(kāi)始就是在實(shí)際芯片上進(jìn)行的調(diào)試 仿真調(diào)試 正確而實(shí)際燒片不正確的情況得到了根本性的解決 當(dāng)然 Isd51 也存在缺點(diǎn) 由于使用串口通訊 必須要占用單片機(jī)的一個(gè)計(jì) 數(shù)器和串口中斷 Isd51 的軟件與硬件要求 1 測(cè)試系統(tǒng)板上有一個(gè)與 PC 機(jī)相連的串口 2 有 500 700 字節(jié)的程序空間 3 至少 6 字節(jié)的堆棧空間 4 至少 1 字節(jié)的片內(nèi) RAM 5 每個(gè)斷點(diǎn) 2 字節(jié)的 RAM 空間 1 3 2 Isd51使用方法 使用 Isd51 實(shí)現(xiàn)在系統(tǒng)調(diào)試按照以下步驟進(jìn)行即可 1 編寫單片機(jī)內(nèi)部程序 Isd51 的核心文件包括位于 Keil c51 isd51 目錄下的 Isd51 a51 和 Isd51 h 兩 個(gè)文件 使用 Isd51 必須將它們包涵到用戶的工程中 其中 Isd51 h 頭文件定 義了一些變量 宏功能和函數(shù)原型 Isd51 a51 則為以匯編寫成的調(diào)試系統(tǒng)的核 心代碼 Isd51 a51 中能調(diào)用的函數(shù)包括 isdwait isdinit isdenable isddisable isdcheck isdbreak iskey 這些函數(shù)的功能說(shuō)明可以在路 徑為 Keil C51 HLP 下的 Isd51 的幫助文件 isd51 chm 中找到 下面通過(guò)一個(gè)例子來(lái)說(shuō)明如何調(diào)用這些函數(shù)以完成調(diào)試系統(tǒng)軟的件初始化 例 include void init debug initialize uVision2 Debugger and continue program run T2CON 0 x30 T2MOD 0 x00 Use Timer 2 as baud rate generator RCAP2H 0 xff RCAP2L 0 xfa SCON 0 x50 EA 1 Enable global interrupt flag TR2 1 PS 1 isdwait wait for uVision2 Debug communication isdinit initialize uVision 2 void main init debug init debug 函數(shù)中前八行完成的是串口初始化 串口的波特率由 RCAP2H 與 RCAP2L 的值決定 本例中設(shè)置使用 22 1184MHz 的晶振 波特率為 115200 isdwait 函數(shù)執(zhí)行后會(huì)一直循環(huán)等待 直到 uVision2 發(fā)出準(zhǔn)備就緒的 命令 isdinit 函數(shù)用于完成調(diào)試功能的開(kāi)啟 接下來(lái)的程序 main 中 添加需要在系統(tǒng)調(diào)試的代碼 也即例子中省略號(hào) 所示意的部分 單片機(jī)內(nèi)部程序按照此格式編寫完后進(jìn)行編譯 沒(méi)有語(yǔ)法錯(cuò)誤后連接單片 機(jī)的串口與 PC 機(jī)的串口 3 2 設(shè)置 PC 機(jī)的編程環(huán)境 啟動(dòng) Keil 在快速工具欄上選擇如圖 1 36 標(biāo)記的 Options for Target 按鈕 圖 1 36 Options for Target按鈕 在彈出的 Options for Target 對(duì)話框中選擇 Debug 選項(xiàng)卡 將右上角的調(diào)試 設(shè)置為 Keil ISD51 In System Debug 并選中 Load Application at System 其他設(shè) 置如圖 1 37 所示 圖 1 37 調(diào)試設(shè)置 點(diǎn)擊 Keil ISD51 In System Debug 旁邊的 Setting 按鈕 彈出 ISD51 Driver Settings 對(duì)話框 如圖 1 38 所示 進(jìn)行各項(xiàng)參數(shù)的設(shè)置 圖 1 38 ISD51驅(qū)動(dòng)設(shè)置 在這個(gè)對(duì)話框里可以選擇串口的端口號(hào)和串口波特率 選擇菜單 Debug 下的 Start Stop Debug Session 啟動(dòng) debug 模式 之后系統(tǒng) 會(huì)自動(dòng)和開(kāi)發(fā)板上的單片機(jī)進(jìn)行通信 然后進(jìn)入在系統(tǒng)調(diào)試 調(diào)試方法與在軟 件仿真環(huán)境下調(diào)試沒(méi)有區(qū)別 圖 1 38 啟動(dòng) debug模式 1 3 3 Isd51 原理分析 Isd51 a51 是調(diào)試系統(tǒng)的核心代碼 通過(guò)觀察其中的匯編代碼 可以分析出 Isd51 a51 函數(shù)所做的工作包括以下兩部分 1 將 CPU 中的各個(gè)寄存器壓入堆棧并通過(guò)串口發(fā)給集成開(kāi)發(fā)環(huán)境 并將 集成開(kāi)發(fā)環(huán)境發(fā)送的各寄存器更新值寫入 CPU 中對(duì)應(yīng)的寄存器 2 將集成開(kāi)發(fā)環(huán)境發(fā)送的中斷向量存入內(nèi)存 片內(nèi)調(diào)試程序在運(yùn)行時(shí)比 較地址向量 如果相同則發(fā)送信息給集成開(kāi)發(fā)環(huán)境 停止內(nèi)部程序執(zhí)行 并等 待集成環(huán)境發(fā)出繼續(xù)運(yùn)行的命令 通過(guò)實(shí)現(xiàn)這兩部分功能 調(diào)試所需的所有功能便都能實(shí)現(xiàn) 寄存器的監(jiān)視與修改在第一項(xiàng)中已經(jīng)實(shí)現(xiàn) 內(nèi)存單元的監(jiān)視與修改可以通 過(guò)將內(nèi)存單元存入寄存器來(lái)解決 同時(shí)也實(shí)現(xiàn)了程序變量的跟蹤 可以進(jìn)行斷 點(diǎn)調(diào)試 實(shí)現(xiàn)斷點(diǎn)調(diào)試后 只要設(shè)置每次的斷點(diǎn)是上一個(gè)斷點(diǎn)的下一條指令即 可實(shí)現(xiàn)單步執(zhí)行 調(diào)試包括的三大要素 變量跟蹤 單步執(zhí)行和斷點(diǎn)設(shè)置 實(shí)現(xiàn)了這三個(gè)功 能 便實(shí)現(xiàn)了系統(tǒng)的調(diào)試 仿真機(jī)是純硬件實(shí)現(xiàn)的 通過(guò)專門的硬件電路來(lái)檢 測(cè) CPU 的寄存器 從而控制 CPU 的運(yùn)行 Isd51 是基于純軟件的實(shí)現(xiàn) 還有一 種是軟件與硬件結(jié)合實(shí)現(xiàn)的 大部分的帶有 JTAG 標(biāo)準(zhǔn)調(diào)試口的 CPU 芯片屬于 此類 這類芯片使用 JTAG 邊界掃描電路來(lái)實(shí)現(xiàn)寄存器的跟蹤 編譯代碼時(shí)在 需要設(shè)置中斷的地方插入軟件中斷來(lái)實(shí)現(xiàn) 在硬件上設(shè)計(jì)一個(gè)單步中斷實(shí)現(xiàn)單 步調(diào)試 純軟件的實(shí)現(xiàn)方法沒(méi)有任何成本 但由于要運(yùn)行監(jiān)視程序 一般在調(diào)試時(shí) 都無(wú)法全速運(yùn)行用戶代碼 純硬件實(shí)現(xiàn)雖能全速運(yùn)行用戶代碼 但成本較高 軟件與硬件的結(jié)合實(shí)現(xiàn)揚(yáng)長(zhǎng)避短 具有很好的開(kāi)發(fā)與應(yīng)用前景 值得在今后的 設(shè)計(jì)調(diào)試中進(jìn)行研究 1 4 Quartus 使用介紹 Quartus 是 Altera 公司推出的 FPGA 開(kāi)發(fā)集成軟件 提供完整的多平臺(tái)設(shè) 計(jì)環(huán)境 是可編程片上系統(tǒng) SOPC 設(shè)計(jì)的綜合性環(huán)境 包含分析 綜合 布線 驗(yàn)證 仿真 時(shí)序分析等功能 集成度高 各功能模塊之間實(shí)現(xiàn)了無(wú)縫連接 同時(shí)綜合 布線 防真等部分也支持第三方 EDA 軟件 有較強(qiáng)的擴(kuò)展能力 Quartus 是以工程概念為核心的軟件 每個(gè)項(xiàng)目的設(shè)計(jì)都是以一個(gè)工程的 形式來(lái)實(shí)現(xiàn)的 支持多種文件格式設(shè)計(jì)輸入 具體的文件操作與 ALTERA 公司 早期的設(shè)計(jì)軟件 Maxplus 相似 但支持的器件種類更多 能支持從最初的 MAX 系列到最新的 StratixGX 系列 而且 Altera 目前還在不斷對(duì)其升級(jí) 以支 持最新的 FPGA 器件和實(shí)現(xiàn)最新的 EDA 技 術(shù)應(yīng)用 1 4 1 Quartus 基本設(shè)計(jì)流程 Quartus 設(shè)計(jì)流程的圖示說(shuō)明如圖 1 39 所示 Quartus 軟件允許在設(shè)計(jì)流程的每個(gè)階 段使用 Quartus 的圖形用戶界面 EDA 工 具界面或命令行界面 可以在整個(gè)流程中只 使用這些界面中的一個(gè) 也可以在設(shè)計(jì)流程 的不同階段使用不同的選項(xiàng) 使用 Quartus 完成設(shè)計(jì)流程的所有階段 是完整且易用的獨(dú)立解決方案 圖 1 39 Quartus 設(shè)計(jì)流程圖 首次啟動(dòng) Quartus 軟件時(shí) 出現(xiàn)的 Quartus 圖形用戶界面如圖 1 40 所 示 圖 1 40 Quartus 圖形用戶界面 首次打開(kāi) Quartus 軟件時(shí) 可以在標(biāo)準(zhǔn)的 Quartus 用戶界面和 MAX PL US 之間選擇外觀和操作習(xí)慣 或者稍后使用 Customize 對(duì)話框選擇外觀和操 作習(xí)慣 單擊菜單欄中的 Tools 選擇 Customize 如圖 1 41 所示 彈出的 Cust omize 對(duì)話框如圖 1 42 所示 圖 1 41 Quartus 中的 MAX PLUS 界面 圖 1 42 Customize 對(duì)話框 Customize 對(duì)話框還可以設(shè)置 Quartus 快捷菜單是否顯示 顯示后是在菜 單條的左邊還是右邊 Quartus 快捷菜單包含的菜單命令是用于每個(gè) Quartus 應(yīng)用程序的普通處理命令 如圖 1 43所示 使用 Quartus 用戶界面的基本設(shè)計(jì)流 程為 1 使用 File 菜單下的 New Project Wizard 建立新工程并指定目標(biāo)器件或器件 系列 2 使用 Text Editor 建立 Verilog H DL VHDL 或 Altera 硬件描述語(yǔ)言 AHDL 設(shè)計(jì) 也可以使用 Block Editor 建立原理圖 或示意圖 3 使用 Analysis KR8211042nFC10 n2 500Hz 低通 59652 3KHz 低通 6312391472 3 低澡聲電源設(shè)計(jì) 降低穩(wěn)壓源的噪聲是減少 50Hz 工頻干擾的主要措施 用普通集成三端穩(wěn) 壓電路直接構(gòu)成穩(wěn)壓電源難以達(dá)到 3mV 峰 峰值 噪聲要求的 而需要在 集成三端穩(wěn)壓電路外增加反饋環(huán)節(jié) 才能進(jìn)一步抑制噪聲 采用電源芯片 7812 7912 提供 12V 直流電壓 正 負(fù)電源電路分別如圖 6 37 圖 6 38所示 圖 6 37 12V 電源電路 圖 6 38 12V 電源電路 此電源電路消除紋波的原理是 經(jīng)過(guò) C4 C9 隔直耦合 將輸出電壓信號(hào) 中的紋波濾出 紋波經(jīng)反相放大 放大倍數(shù)為 1 后作為電源芯片內(nèi)部參考地 以使輸出電平趨于穩(wěn)定 電容 C5 C10 提供高頻通路 4 A D 采樣電路 由于題目要求在 10V 10V 范圍內(nèi)采樣分辨率達(dá)到 80 mV 采樣使用 8 位 A D 時(shí)電壓分辨率為 為了提高數(shù)據(jù)穩(wěn)定性 采用mVV801 72560 12 位 A D 器件 MAX197 采樣后取其前八位數(shù)據(jù) MAX197 的具體使用詳見(jiàn) 常用器件介紹 章節(jié)中的 A D 芯片使用介紹 5 D A 轉(zhuǎn)換電路 系統(tǒng)設(shè)計(jì)中有兩處需要用到 D A 轉(zhuǎn)換 一處是 FPGA 對(duì)采樣信號(hào)編碼后需 通過(guò) D A 轉(zhuǎn)換為五電平信號(hào)送入信道傳輸 另一處是接收解碼后的心電信號(hào)信 息送入示波器顯示前需 D A 轉(zhuǎn)換 采用 DAC0800 來(lái)完成 D A 轉(zhuǎn)換 DAC0800 的具體使用詳見(jiàn) 常用器件介紹 章節(jié)中的 D A 芯片使用介紹 6 數(shù)據(jù)編碼 解碼設(shè)計(jì)實(shí)現(xiàn) FPGA 主要完成對(duì)實(shí)時(shí)采樣 對(duì)采樣數(shù)據(jù)做電平變換后存儲(chǔ)并實(shí)時(shí)顯示 為了達(dá)到實(shí)時(shí)顯示的目的并且又不失真的再現(xiàn) ECG 心電信號(hào) 信號(hào) 采取每存 儲(chǔ)一個(gè)數(shù)據(jù)就顯示一個(gè)數(shù)據(jù)的方法 FPGA 負(fù)責(zé)實(shí)現(xiàn)對(duì) MAX197 的控制 包括 寫狀態(tài)字和兩次讀數(shù)據(jù) 然后 FPGA 對(duì)從 MAX197 讀來(lái)的數(shù)據(jù)進(jìn)行編碼 MAX197 是 12 位的 AD 先取其高 8 位 每?jī)蓚€(gè)位為一組 分為四組 并在其 前面加上同步碼 用發(fā)送時(shí)鐘將其發(fā)送出去 為了提高解碼的準(zhǔn)確率 在接收端沒(méi)有使用與發(fā)送端同頻率的時(shí)鐘 而是 使用了發(fā)送時(shí)鐘 20 倍的時(shí)鐘 可以通過(guò) FPGA 內(nèi)的計(jì)數(shù)器計(jì)數(shù)到接收碼的中心 時(shí)刻再進(jìn)行判決 這樣可以保證判決的準(zhǔn)確性 減小誤碼 FPGA 內(nèi)部的發(fā)送模塊和接收模塊邏輯電路如圖 6 39和圖 6 40所示 VCCclk 5k INPUT VCCDin 7 0 INPUT VCCINT in INPUT VCCclk wr INPUT control 2 0 OUTPUT Tri clk wide clk plus nplus plus ctrl inst NOT inst1 Tri clk Din 7 0 control 2 0 para to serial inst2 圖 6 39 FPGA 內(nèi)部發(fā)送數(shù)據(jù)邏輯 VCClevel 3 0 INPUT receive clk read clk level in 3 0 Dout 7 0 receivor inst26 clk 120k clk 1k decode data 7 0 圖 6 40 FPGA 內(nèi)部接收數(shù)據(jù)邏輯 FPGA 內(nèi)部采用模擬單片機(jī)讀寫控制的時(shí)序來(lái)實(shí)現(xiàn)控制 AD 的數(shù)據(jù)采集 讀數(shù)據(jù)脈沖觸發(fā)低電平 產(chǎn)生一個(gè)寫信號(hào) 將控制字送到 MAX197 中 然后等 待 A D 轉(zhuǎn)換完畢 產(chǎn)生的 INT 信號(hào)觸發(fā)一個(gè)寬低電平和一個(gè)窄低電平 來(lái)控制 max rd 端和 HBEN 端 從而實(shí)現(xiàn)兩次讀數(shù)據(jù)的時(shí)序 完成 MAX197 一次讀數(shù) 據(jù) FPGA 內(nèi)部 A D 控制模塊如圖 6 41所示 max csOUTPUT max wrOUTPUT max rdOUTPUT HBENOUTPUT VCC max data 7 0 BIDIRclk 1k clk 1M INT max max197in 7 0 max data 7 0 data out 7 0 nWR nRD HBEN max197 contrl inst11 data out 7 0 max data 7 0 clk 1k clk 1M max data 7 0 GND max int 圖 6 41 FPGA 內(nèi)部 A D 控制邏輯 7 電平比較電路 信號(hào)在進(jìn)入 FPGA 解碼前需要進(jìn)行比較判決 由于數(shù)據(jù)傳送采用 4 電平基 帶傳送 加上幀起始信號(hào) 傳送的波形共有 5 個(gè)電平 所以需 4 電平的比較判 決 比較器采用常用的 LM339 由正負(fù) 5V 供電 電平比較電路示例如圖 6 42 所示 比較結(jié)果送入 FPGA 解碼 連接時(shí)注意加入緩 沖隔離電路 244 實(shí)現(xiàn) 8 單片機(jī)程序流程圖 如圖 6 43所示 圖 6 42 電平比較電路 4 小結(jié) 1 若在電路中插入 50Hz 陷波電路 對(duì)抑制 50Hz 工頻干擾十分有效 但也將心電信號(hào)的有效成 分衰減了 因此抑制 50Hz 干擾應(yīng)依靠提高電路的平 衡和共模抑制比來(lái)實(shí)現(xiàn) 穩(wěn)壓電源噪聲過(guò)高 特別是 50Hz紋波抑制不足 是心電放大器噪聲過(guò)大的 主要原因 2 系統(tǒng)的 12V 和 15V 電源要在本地產(chǎn)生 才行 為了降低噪聲 采 用運(yùn)放反饋的方法 也就 是用運(yùn)放反向放大 7812 7912 輸出電壓的交流 圖 6 43 簡(jiǎn)易遠(yuǎn)程心電監(jiān)護(hù)系 統(tǒng)軟件流程 分量 再加到 7812 7912 的地 7812 7912 浮地 不接系統(tǒng)的地 電源噪聲一般 在 3mV 以下 不會(huì)引進(jìn) 50Hz 的工頻干擾 因而后級(jí)就不需要 50Hz 陷波了 3 使用與共模電壓相等的電壓來(lái)驅(qū)動(dòng)屏蔽層 可以盡量使屏蔽層內(nèi)外的 電勢(shì)差只剩下所需的差模信號(hào) 而且使屏蔽層不易被外界干擾驅(qū)動(dòng) 很好的保 護(hù)了微弱的心電信號(hào)的傳輸 只要從儀器放大器的等效共模參考點(diǎn) 增益控制電阻的中間 取共模信號(hào) 經(jīng)射隨器加到屏蔽層即可 同屏蔽驅(qū)動(dòng)一樣 右腿驅(qū)動(dòng)也是用來(lái)減弱共模信號(hào)的 用負(fù)反饋來(lái)抵消共 模干擾 4 0 05Hz 高通電路的電容選擇很關(guān)鍵 根據(jù)理論計(jì)算 電容值很大 但 是不可以用電解電容 原因是電解電容容易漏電 漏電速度較慢 不易察覺(jué) 但是長(zhǎng)時(shí)間測(cè)試后 心電圖就會(huì)緩慢漂移 直到漂到一端引起飽和 任何電路中的電解電容都是每時(shí)每刻在漏電的 只不過(guò)交流信號(hào)大的時(shí)候 交流占了主導(dǎo)地位 影響不大 但當(dāng)系統(tǒng)處理的是極微弱的信號(hào)時(shí) 交流電壓 是毫伏級(jí)的 這時(shí)漏電的因素就不能忽略了 因此 微弱信號(hào)處理電路中 必 須選用鉭電容或者獨(dú)石電容 6 2 3 低頻相位測(cè)量?jī)x 1 系統(tǒng)設(shè)計(jì)指標(biāo) 設(shè)計(jì)制作一個(gè)低頻相位測(cè)量系統(tǒng) 包括相位測(cè)量?jī)x 數(shù)字式移相信號(hào)發(fā)生 器和移相網(wǎng)絡(luò)散步分 相位測(cè)量?jī)x要求頻率范圍為 20Hz 20kHz 輸入阻抗 100k 相位測(cè)量的 絕對(duì)誤差 2 并且 測(cè)量?jī)x允許兩路輸入正弦信號(hào)峰 峰值分別在 0 3 5V 范 圍內(nèi)變化 移相器的連續(xù)相移范圍 45 45 數(shù)字式移相信號(hào)發(fā)生器要求頻率 范圍為 20Hz 20kHz 頻率步進(jìn)為 20Hz 輸出頻率可以預(yù)置 輸出信號(hào)的峰 峰值在 0 3 5V 范圍內(nèi)變化 相位差范圍為 0 359 相位差步進(jìn)為 1 相 位差可預(yù)置 2 系統(tǒng)設(shè)計(jì)及方案確定 1 相位測(cè)量?jī)x 根據(jù)系統(tǒng)的設(shè)計(jì)指標(biāo)要求 該部分不僅要完成相位的測(cè)量 而且還要允許 測(cè)量信號(hào)的幅度在 0 3 5V 范圍內(nèi)可變 當(dāng)輸入信號(hào)幅度過(guò)小時(shí)容易引起測(cè)量 誤差 因此 對(duì)進(jìn)入相位測(cè)量?jī)x的兩路信號(hào)需進(jìn)行限幅放大 將其整形為方波 后再進(jìn)行相位測(cè)量 相位測(cè)量的方案在 典型應(yīng)用技術(shù) 章節(jié)中的相位測(cè)量部 分有詳細(xì)介紹 在此不再贅述 2 數(shù)字式移相信號(hào)發(fā)生器 圖 6 44 數(shù)字式移相信號(hào)發(fā)生器系統(tǒng)框圖 數(shù)字式移相信號(hào)發(fā)生器系統(tǒng)框圖如圖 6 44 所示 采用直接數(shù)字頻率合成 DDS 技術(shù)產(chǎn)生移相信號(hào) 信號(hào)相位 頻率和幅度都可以實(shí)現(xiàn)程控 通過(guò)設(shè)置頻 率 相位控制字來(lái)實(shí)現(xiàn)對(duì)頻率和相位的初始值設(shè)定 通過(guò)更換波形數(shù)據(jù)可以很 方便的實(shí)現(xiàn)波形切換 3 幅度控制 幅度控制電路采用雙 D A 轉(zhuǎn)換器實(shí)現(xiàn) 使用 DAC0832 配合 DAC0800 控制 輸出的波形和幅度 DAC0832 的輸出作為 DAC0800 的基準(zhǔn)電壓 通過(guò)控制 DAC0832 的輸出 也就是控制 DAC0800 的基準(zhǔn)電壓 從而實(shí)現(xiàn)對(duì)輸出波形幅 度的控制 3 系統(tǒng)實(shí)現(xiàn) 1 相位測(cè)量?jī)x 相位測(cè)量?jī)x的前級(jí)信號(hào)整形電路由限幅放大電路組成 具體電路見(jiàn) 典型 應(yīng)用電路 中的限幅放大電路 輸入正弦波被整型成方波后 進(jìn)行相位測(cè)量 測(cè)量方法見(jiàn) 典型應(yīng)用技術(shù) 章節(jié)中的相位測(cè)量 2 數(shù)字式移相信號(hào)發(fā)生器 可編程邏輯器件中包含頻率控制寄存器 相位累加器 雙路地址偏移產(chǎn)生 電路 先裝載頻率控制字到頻率控制字寄存器 相位累加器進(jìn)行相位累加頻率 控制字以得到相位值 先取相位累加器高 N 位作為第一路的基本地址 再加上 相位差對(duì)應(yīng)的地址偏移量產(chǎn)生第二路基本地址 讀取波形表數(shù)據(jù) 就可輸出具 有特定相位差的兩路正弦信號(hào) 根據(jù)方案設(shè)計(jì) 使用使用 ROM 存儲(chǔ)波形表穩(wěn)定 掉電數(shù)據(jù)不丟失 RAM 則會(huì)掉電丟失數(shù)據(jù) 但是波形可以改變 可以根據(jù)實(shí)際情況來(lái)選用 2764 2864 ROM 或者 IDT7132 RAM 存儲(chǔ)波形 D A 轉(zhuǎn)換器轉(zhuǎn)換出的正弦波形有毛刺產(chǎn)生 這是由于受到數(shù)字電路部分高 頻信號(hào)的干擾 故在后級(jí)接入二階巴特沃斯低通濾波器 改善波形 3 移相電路的參數(shù)計(jì)算實(shí)現(xiàn) 移相電路的電路如圖 6 45 所示 圖 6 45 移相電路 電路參數(shù)計(jì)算如下 1 jwRcjc 1VRVSS1 2 jjSS2 3 21OV V R 求解得 222R1 1o cjwRccoVsjwH 為相移 RocRo11 w 2tg2 從而知電阻與電容要滿足以下條件 A c B Ro1 2tg 為輸入信號(hào)頻率 R C 為該相移網(wǎng)絡(luò)固定電容和電阻取值 要滿足相移 連續(xù)范圍為 45 R5 R6 所以 657u 將 R5 R 6和 R7的數(shù)據(jù)代入 可得 Au 20 設(shè)引腳 1 和 8 之間外接電阻為 R 則u 2657 當(dāng)引腳 1 和 8 之間對(duì)交流信號(hào)相當(dāng)于短路時(shí) 有 57RAu 將 R5 和 R7 的數(shù)據(jù)代入 A u 200 即為本設(shè)計(jì)電路的增益放大倍數(shù) PT2262 2272編碼 解碼電路設(shè)計(jì) PT2262 2272 是一對(duì)帶地址 數(shù)據(jù)編碼功能的芯片 編碼芯片 PT2262 具有 地址和數(shù)據(jù)編碼功能 解碼芯片 PT2272 具有地址和數(shù)據(jù)解碼功能 數(shù)據(jù)輸出 具有 暫存 和 鎖存 兩種方式 方便用戶使用 后綴為 M 為 暫存型 后綴為 L 為 鎖存型 其數(shù)據(jù)輸出又分為 0 2 4 6 不同的輸出 例如 PT2272 M4 則表示數(shù)據(jù)輸出為 4 位的暫存型無(wú)線遙控接收芯片 本設(shè)計(jì)采用的是 PT2272 M6 PT2262 和 PT2272 引腳圖分別如圖 2 3 1 和 2 3 2 所示 編碼芯片 PT2262 發(fā)出的編碼信號(hào)由地址碼 數(shù)據(jù)碼 同步碼組成一個(gè)完整的碼字 解碼 芯片 PT2272 接收到信號(hào)后 其地址碼經(jīng)過(guò)兩次比較核對(duì)后 VT 腳才輸出高電 平 與此同時(shí)相應(yīng)的數(shù)據(jù)腳也輸出高電平 如果發(fā)送端一直按住按鍵 編碼芯 片也會(huì)連續(xù)發(fā)射 其具有低功耗 外部器件少 工作電壓范圍寬 數(shù)據(jù)可達(dá) 6 位 地址碼最多可達(dá) 531441 種 PT2262 發(fā)射芯片地址編碼輸入有 1 0 和 開(kāi)路 三種狀態(tài) 數(shù)據(jù)輸入有 1 和 0 兩種狀態(tài) 由各地址 數(shù)據(jù)的不同接腳狀態(tài)決定 編碼從輸出端 Dout 輸出 Dout 輸出的編碼信號(hào)是調(diào)制在載波上的 通過(guò)改變 15 腳 OSC1 和 16 腳 OSC2 之間所接的電阻阻值的大小 即可改變 17 腳輸出時(shí)鐘的頻率 6 個(gè)數(shù)據(jù)位 D0 D5 由單片機(jī) P20 P25 預(yù)置 同時(shí) 6 個(gè)地址碼也由單片機(jī) P00 P05 預(yù)置 17 腳輸出的信號(hào)通過(guò)左聲道加入至壓控振蕩器 MC1648 進(jìn)行調(diào)制發(fā)射出去 PT2272 的暫存功能是指當(dāng)發(fā)射信號(hào)消失時(shí) PT2272 的對(duì)應(yīng)數(shù)據(jù)輸出位即變 為低電平 而鎖存功能是指 當(dāng)發(fā)射信號(hào)消失時(shí) PT2272 的數(shù)據(jù)輸出端仍保持 原來(lái)的狀態(tài) 直到下次接收到新的信號(hào)輸入 PT2262 和 PT2272 的電路原理圖 分別如圖 6 121 和 6 122 所示 A01 A12 A23 A34 A45 A56 D07 D18 GND9 D2 10D3 11D4 12 D5 13T1 14OSC2 15 OSC1 16Dout 17VCC 18 PT2262 5V R1 VCOP00P01P02 P03P04 P05P20 P21 P22P23P24 P25P27 圖 6 121 PT2262 編碼電路 A01 A12 A23 A34 A45 A56 D07 D18 GND9 D2 10D3 11D4 12 D5 13Din 14OSC2 15 OSC1 16VT 17VCC 18 PT2272 5V R VCOP00P01P02 P03P04 P05P20 P21 P22P23P24 P25P27 圖 6 122 PT2272 解碼電路 20dB 衰減器的制作 衰減器制作的關(guān)鍵是阻抗匹配 本設(shè)計(jì)要求輸入阻抗為 5 4 如圖 6 123 所示 采用三級(jí)衰減 第一級(jí)衰減 6 02dB 二級(jí)衰減 12 04dB 至第三級(jí)衰減 為 18 06dB 10 8 R1 10 8 R2 10 8 R3 5 4 R4 5 4 R5 5 4 R6 5 4 R71 2 JP1 12 JP2 圖 6 123 20dB 衰減器電路圖 2 軟件設(shè)計(jì) 鑒于單片機(jī)技術(shù)比較成熟 且開(kāi)發(fā)過(guò)程中可以利用的資源和工具豐富 價(jià)格 便宜 成本低 故設(shè)計(jì)用 C 語(yǔ)言對(duì)其編程并燒錄到芯片內(nèi)部 C 語(yǔ)言表達(dá)和運(yùn) 算能力比較強(qiáng) 且具有很好的可移植性和硬件控制能力 程序分為發(fā)射部分和 P3 2 接收部分 硬件設(shè)計(jì)和軟件設(shè)計(jì)是電子設(shè)計(jì)中必不可少的內(nèi)容 為了滿足設(shè)計(jì)的功能 和指標(biāo)的要求 我們必須在開(kāi)始設(shè)計(jì)的時(shí)候就要考慮到硬件和軟件的協(xié)調(diào) 不 然不是造成硬件資源的浪費(fèi)就是增加軟件實(shí)現(xiàn)時(shí)困難和復(fù)雜程度 甚至造成信 號(hào)的斷層 即使硬件和軟件能單獨(dú)使用 卻不能使它們組成的系統(tǒng)工作 故在 設(shè)計(jì)的過(guò)程中必須考慮軟硬件的處理能力以及它們的接口是否兼容 實(shí)現(xiàn)軟硬 件的信號(hào)過(guò)渡 其次設(shè)計(jì)時(shí)硬件之間應(yīng)盡可能減小聯(lián)系 只要把必要的信號(hào)線 相連則可 這樣做的優(yōu)點(diǎn)是 首先 調(diào)試時(shí)可以減少很多不必要的麻煩 因?yàn)?電路是相對(duì)獨(dú)立的 故在調(diào)整電路參數(shù)值時(shí)其影響和干擾就小 在滿足發(fā)射和 接收模塊的要求后可單獨(dú)對(duì)控制模塊進(jìn)行調(diào)整 再者 當(dāng)出現(xiàn)問(wèn)題時(shí)檢查電路 就容易縮小問(wèn)題的范圍 使得排錯(cuò)效率高 由于硬件的分離 在軟件的調(diào)試時(shí) 就可以單獨(dú)針對(duì)控制模塊 發(fā)射部分程序設(shè)計(jì) 發(fā)射部分的程序主要可分為按鍵處理模塊 液晶顯示模塊 數(shù)據(jù)處理模塊 以及字符轉(zhuǎn)換模塊四大部分 主要程序流程圖如圖 6 124 所示 圖 6 124 發(fā)射部分程序流程圖 接收部分程序設(shè)計(jì) 接收部分的程序主要是完成液晶顯示 按鍵處理以及臺(tái)號(hào)的轉(zhuǎn)換等功能 主要程序流程圖如圖 6 125 所示 圖 6 125 接收部分程序流程圖 4 小結(jié) 本設(shè)計(jì)分發(fā)射和接收兩大部分 主站 發(fā)射部分 負(fù)責(zé)發(fā)送語(yǔ)音信號(hào) 數(shù) 據(jù)傳送以及對(duì)從站的選擇 從站 接收部分 負(fù)責(zé)接收語(yǔ)音信號(hào) 數(shù)據(jù)接收和 從站對(duì)主站群呼或單發(fā)的響應(yīng) 采用鎖相環(huán)式頻率合成器技術(shù)輸出 35MHz 的載 波信號(hào) 頻率穩(wěn)定度和準(zhǔn)確度均達(dá)到了 10 5 超大規(guī)模 AM FM 立 體 聲 收 音 集 成 芯 片 CXA1238S 作為接收部分的主體 接收部分的信噪比 靈敏度和鏡像抑 制均達(dá)到了國(guó)家標(biāo)準(zhǔn) 采用 PT2262 2272 編碼 解碼電路實(shí)現(xiàn)了數(shù)據(jù)傳輸業(yè)務(wù)以 及對(duì)臺(tái)號(hào)的選擇等功能 對(duì)增加傳輸距離和提高系統(tǒng)波形失真進(jìn)行了仔細(xì)的研 究和實(shí)驗(yàn) 使這兩項(xiàng)技術(shù)指標(biāo)滿足了設(shè)計(jì)要求 音頻輸入和數(shù)據(jù)輸入可自動(dòng)轉(zhuǎn) 換 液晶顯示界面友好 輸入采用自制鍵盤輸入 便于操作 本系統(tǒng)既有低頻信號(hào) 又有中頻和高頻信號(hào) 既有模擬信號(hào) 又有低頻基 帶的數(shù)字 脈沖 信號(hào)和鎖相環(huán)生成的各種頻率的數(shù)字 脈沖 信號(hào) 它們互 相交調(diào)會(huì)形成頻譜很寬的內(nèi)部干擾信號(hào) 加上外部各類干擾信號(hào) 如 50Hz 的 市電等 這些干擾信號(hào)不僅影響音頻信號(hào)的傳輸質(zhì)量 更重要的還會(huì)影響主從 站的呼叫 英文短信的傳輸質(zhì)量 甚至造成呼叫出差錯(cuò)和英文短信出錯(cuò)誤 因 此 抗干擾措施必須做得很好才能保證語(yǔ)音信號(hào)高質(zhì)量傳送和呼叫信號(hào) 英文 短信無(wú)誤傳送 將發(fā)射機(jī)調(diào)制器之前音頻輸入級(jí)加以屏蔽 防止 50Hz 市電干擾和數(shù)字 脈沖 信號(hào)干擾 電源隔離 模擬部分和數(shù)字部分的電源單獨(dú)供電 如共用一個(gè)直流穩(wěn)壓 電源 必須采用電感和電容去耦合 地線隔離 地線一般要粗 甚至大面積接地 除了元器件引線 電源走 線 信號(hào)線之外 其余部分均作為地線 同時(shí)模擬地要與數(shù)字地分開(kāi) 模數(shù)隔離 模擬部分會(huì)受數(shù)字部分的脈沖干擾影響 必須將數(shù)字部分和 模擬部分分開(kāi)排版 并拉開(kāi)一定的距離 數(shù)數(shù)隔離 本系統(tǒng)采用了鎖相環(huán) 會(huì)產(chǎn)生各種頻率的脈沖信號(hào) 呼叫信 號(hào)和英文短信也是數(shù)字信號(hào) 這兩類數(shù)字信號(hào)要相互隔離 前者會(huì)干擾后者 造成呼叫或英文短信傳遞出差錯(cuò) 后者會(huì)干擾前者分頻錯(cuò)誤 從而影響它正確 鎖定 加裝屏蔽線 例如線路輸入線 話筒輸入線 接收機(jī)鑒頻 鑒相器至音 頻放大器之間的引線 均要加裝屏蔽線 凡是用電解電容作為耦合元件的地方 一定要并接一個(gè)容量較小的瓷片 電容 并千萬(wàn)注意電解電容的極性不能反接 否則會(huì)產(chǎn)生很大的噪聲干擾 另外 系統(tǒng)在靈敏度 鏡像抑制 信噪比方面還可繼續(xù)改進(jìn) 提高靈敏度的方法 根據(jù)靈敏度定義 P o Pno為定值 且 Po要為標(biāo)稱功率 要減小 Pi 即提高 靈敏度 需從兩方面想辦法 一是減小系統(tǒng)的噪聲系數(shù) NF 二是降低輸入端的 雜聲 多級(jí)放大器的總噪聲系數(shù)計(jì)算公式如下式所示 由此可知減小系統(tǒng)的噪聲 系數(shù) NF 的方法 1 21321 4213121 nPaPaFPaaFPaFPa GGNG 顯然 要降低整機(jī)的噪聲系數(shù) 第一級(jí)高放是關(guān)鍵 要選取噪聲系數(shù)特別 小的 放大倍數(shù)大的 截止頻率高的晶體管或場(chǎng)效應(yīng)管作為第一級(jí)高頻放大管 還要考慮輸入輸出的阻抗匹配 調(diào)諧回路 Q 值要盡量高 靜態(tài)工作點(diǎn)要合理選 取 其次是混頻級(jí) 必須選擇噪聲系數(shù)小且增益高的器件作為混頻器件 另方面降低輸入噪聲 Pi 高頻級(jí)要選取噪聲系數(shù)小的阻容件 高頻頭要屏蔽 防止干擾信號(hào)進(jìn)入接收機(jī)輸入端 外接定向天線 利用定向天線直接接收有用 信號(hào)直達(dá)波 如果在定向天線上再裝一個(gè)低噪聲 高增益的天線放大器 可使整機(jī)的靈 敏度大大提高 這樣做可以使整機(jī)的靈敏度提高至 1 V 左右 高鏡像抑制的方法 要進(jìn)一步提高鏡象抑制 關(guān)鍵在于高放級(jí)的輸入前端帶通濾波器的矩形系 數(shù) 也就是說(shuō)要提高高放級(jí)輸入回路的品質(zhì)因數(shù) Q 具體做法是回路線圈最好是采用鍍銀銅線和選取漏電流小的回路電容 在 天線與高放之間接入了 LC 并聯(lián)諧振回路 它對(duì)提高鏡象抑制是有益處的 但 因輸入阻抗低 回路 Q 值也較低 如果提高并聯(lián)回路的 Q 值 可能難以保證頻 率的準(zhǔn)確度 解決的辦法有兩種 一種辦法就是改為與高放級(jí)的回路一樣 變 為可調(diào) 另一種辦法就是將帶通濾波器改為聲表波濾波器 其效果也是可觀的 提高信噪比的方法 根據(jù)信噪比的定義 niF iniFonpNp 常 量 在 Pi 為定值的情況下 輸出端信雜比取決于整機(jī)噪聲系數(shù) NF 和輸入端噪聲 但有些噪音是由低頻放大器部分引入的 特別是 50Hz 的交流電的干擾是無(wú)孔 不入的 可用示波器觀測(cè)噪聲的基波成分 如果基波成分為 100Hz 一般來(lái)自 電源部整流濾波性能欠佳 可采取加大濾波電容 加大地和電源線的面積及合 理布線等措施 如果基波成分主要是 50Hz 則說(shuō)明 50Hz 交流電通過(guò)空間耦合 而來(lái) 此時(shí)要采取電磁隔離的辦法方能解決 附錄 A 常用抗干擾技術(shù) 單片機(jī)系統(tǒng)在電子設(shè)計(jì)的各領(lǐng)域都有廣泛的應(yīng)用 但在某些控制系統(tǒng)中若 存在強(qiáng)靜電場(chǎng) 如大功率電動(dòng)機(jī) 發(fā)電機(jī) 磁力開(kāi)關(guān) 變壓器 對(duì)單片機(jī)來(lái)講 都是致命的干擾源 盡管電路和程序設(shè)計(jì)得都很合理但單片機(jī)在上述環(huán)境下也 很難能正常工作 另外來(lái)自系統(tǒng)內(nèi)部和外部的各種干擾即使不會(huì)造成系統(tǒng)運(yùn)行 失常 也會(huì)引起數(shù)據(jù)采集測(cè)量誤差加大等問(wèn)題 所以在設(shè)計(jì)系統(tǒng)時(shí) 應(yīng)事先充 分考慮抗干擾性的要求 避免在設(shè)計(jì)完成后再去進(jìn)行抗干擾的補(bǔ)救措施 單片 機(jī)主要有以下幾種干擾 1 通道信號(hào)干擾 2 電源干擾 3 輻射干擾 硬件抗干擾技術(shù)是設(shè)計(jì)系統(tǒng)時(shí)首選的抗干擾措施 它能有效抑制干擾源 阻斷干擾傳輸通道 只要合理地布置與選擇有關(guān)參數(shù) 硬件抗干擾措施就能抑 制系統(tǒng)的絕大部分干擾 常用的硬件抗干擾措施有 接地技術(shù) 屏蔽技術(shù) 隔 離技術(shù)及濾波技術(shù)等 1 數(shù)字系統(tǒng)與模擬系統(tǒng) 單片機(jī)系統(tǒng)多為數(shù)字系統(tǒng)與模擬系統(tǒng)相互聯(lián)系的混合系統(tǒng) 模擬信號(hào)與數(shù) 字信號(hào)之間的最大差別在于用來(lái)代表這些信號(hào)的能量在頻域中的分布情況 因 此數(shù)字信號(hào)更容- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
19.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 經(jīng)典 電子設(shè)計(jì) 教程 電子電路 設(shè)計(jì) 分析
鏈接地址:http://m.appdesigncorp.com/p-9361025.html