基于NiosII的便携式超声波流量计设计
3.3 用Niosll IDE编写整个系统的控制程序
NiosII IDE(Integrated Development Environment,集成开发环境)提供了完整的C/C++软件开发套件,包括编辑器、项目管理器和构建工具、调试器和兼容CFI(Common Flash Interface)的Flash编程器。调试器连接多种目标系统,包括FPGA硬件(通过JTAG电缆)、NioslI指令集仿真器和Modelsim-Altera软件,因而能够提供最灵活的调试方案。
为了方便用户编程,NiosII为用户提供了设备驱动程序,也就是硬件驱动层数据库HAL。软件编写人员只要利用HAL提供的各种函数就能编写应用程序,从而方便地与底层硬件进行通信,而无需关心底层硬件的实现细节。HAL系统库可在IDE创建一个新工程时,由系统自动生成。
NioslI IDE完全支持C/C++,本系统采用的编程语言是标准C。添加必要的头文件,编写各个中断服务程序以及子程序,就可以实现整个超声波流量计的控制。
仿真NiosII设计包括3种方式:“NiosII IDE Debugger+Signal Tap II+物理板”的软硬件联调方式,“NiosII IDE Debugger+指令集仿真器ISS”的软件调试方式(ISS可对部分组件建模),使用Modelsim-Altera进行的RTL级的功能仿真方式(可以调试处理器及其外设之间的交互情况)。Debug的方式可以通过IDE里面的RunDebug As进行选择。NiosII IDE也可以进行设置断点,单步调试,观察变量,内存以及表达式的值等操作,在此不一一赘述。Debug之后还需要建立工程,若整个系统无错,可以生成一个ELF文件,只有完整建立起来的系统才可以下载到FPGA的板上运行。具体实现方式是通过NiosII IDE里面的Project-Build Project来建立工程,结果会提示程序代码总共占用了多少代码,剩余多少的RAM空间,以及错误和警告提示。根据错误警告提示修改代码,直至无错完整地建立工程,这样NiosIIIDE里面的工作就全部完成了。通过FPGA下载线将程序下载到FPGA板上,整个系统就可以完整地运行。
4 实验结果及分析
将程序正确下载到FPGA板上,硬件正确连接,接上超声波探头,进行实验。实验结果表明,本系统可以准确地实现对整个系统的控制,经过信号处理的超声波信号清晰稳定,实验结果能够满足系统的精度要求,效果良好。图5即为实验现场接收到的超声波信号。图6为比较电压的信号图。
图5中下方是经过滤波之后的超声波的发射和接收信号。可以看到信号清晰稳定。上方的信号是经过自动增益控制之后的超声波回波信号,通过自动增益控制之后的接收信号可以稳定在一定的幅度之内,保证了系统对高精度计时的要求。
图6中下方也是滤波之后的超声波发射和接收信号。上方的信号为电压比较器所产生的计时停止信号。当通过自动增益控制之后的接收信号达到电压比较器的参考电压时,电压比较器便会产生一个计时停止信号,并发送给FPGA,这样计时停止,便准确地测量了超声波的传播
时间。
实验结果表明,本系统可以准确地实现对整个系统的控制,经过信号处理的超声波信号清晰稳定,实验结果能够满足系统的精度要求,效果良好。
- 基于NiosII32位处理器的LED大屏幕显示系统设计(09-06)
- 便携式媒体播放器的电源管理(07-01)
- 如何设计可支持差分和单端信号的便携式产品音频接口(09-14)
- 适用于单节或两节电池供电的便携式应用的完整电池组设计(10-08)
- 延长锂离子电池使用寿命的最新电源解决方案(01-17)
- 便携式电子设备、充电器和电源适配器的过流保护元件PPTC(11-22)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...