2 系统软件设计
系统软件部分包括实时操作系统μC/OS-II和数据采集与处理部分的应用程序。在Nios II IDE中将软件开发分为两大部分,一部分是底层系统软件的开发,主要完成BSP(板级支持包)的功能;另一部分则是用户应用软件的开发(包括用户硬件驱动及用户上层应用软件)。整个用户软件的开发及调试工作都可以在Nios II IDE中完成。
2.1 实时操作系统μC/OS-II在Nios上的移植
在本课题中使用的是μC/OS-II的v2.83版本,源码可以从Micrium的网站上获得。同时还要从网站上获得μC/OS-II在EDK扁平型电感中使用的配置文件μCOS-II_v2_1_0.mld和μCOS-II_v2_1_0.tcl。将这两个文件放到EDK能找到的路径下,这样在EDK中才能配置使用μC/OS-II。在EDK中通过菜单Software->Software Platform Settings打开配置窗口,在OS中选择μC/OS-II,OS Version中选择 v2.83a,然后进入OS & Library对μC/OS-II进行配置。
在Nios II IDE中,可以对μC/OS-II的源码位置、BSP包源码位置、移植程序文件位置、应用程序文件位置进行修改,同时还可对μC/OS-II进行剪裁配置,如是否使用事件、互斥信号量、消息邮箱及任务是否可删除等。
2.2 实时操作系统下的软件设计
μC/OS-II在ALTERA的Nios微处理器上移植并测试完成后,建立了基于μC/OS-II实时多任务内核的硬件开发平台,但μC/OS-II仅是一个有源码的内核,在实际应用中,对外设的操作需要自行编写底层的代码。在此平台下进一步开发,实现数据采集功能,需要建立相关的应用程序,也就是要根据整个系统的要求,划分不同的任务,这些任务交由实时内核来调度管理。一般一个任务对应于一段独立的主程序,它一体成型电感器可能调用各种子程序,并使用各种系统资源,以完成某种特定的功能,并且实时内核允许多个任务并行运行。采用实时操作系统,使应用程序的编写简单且易于调试。
主程序用C语言编写,其主要程序如下:
void main()
{sys_initialize();//系统初始化
while(1)
{ad_fft_ctl();//数据采集及FFT计算子程序
case collection_order: //图像采集命令
image_collection();//图像采集
image_process();//图像处理
image_save();//图像保存
mps_decoder();//调用相应的解码算法
case rs232_transfer://传输数据命令
lcd_display(p1,p2,p3);//LCD液晶显示子程序
}
}
3 系统调试与应用实例
调试包括硬件和软件调试。硬件调试分析电路的设计合理性及焊接工艺的可靠性,以保证所设计的各个模块合理,重点放在调试自己所设计的IP核和硬件逻辑的可靠性与适用性。共模电感器软件调试主要是集中在系统内核的应用程序,以保证各个功能都成功实现。这是一个相当复杂的过程。
3.1 系统硬件调试
为了验证FPGA能否正常工作,把CMOS图像传感器的输出连接到Nios II开发板的扩展插座上,编写VHDL程序,读取CMOS图像传感器的输出并存储到FPGA的内部RAM中,利用Quartus II的工具In-System Memory Content Editor,读取内部RAM的值。
要设计用户逻辑或者外设,除了要编写实现特定功能的逻辑之外,还要编写与Avalon总线的接口,这就要求对Avalon总线的规范很熟悉。测试结果表明,程序能够通过JTAG接口成功下载到FPGA上,显示在LCD上的运行结果也正确。这说明FPGA、JTAG接口、电源、晶振和LCD电感器q值显示等电路均能正常工作。
利用电荷泵降低白光LED背光驱动器的成本和体积在手机和其他移动设备中,白光LED能为小尺寸彩屏提供完美的背光效果。但大部分手机使用单节锂电池供电,而单节锂电池很难直接驱动白光LED。通常锂电池的工作电压范围为3~4.2V,而白光LED的导通压降是
[DCDC]急求DCDC电源方案输入:22-45v输出36v/0.9a如题,急需一款直流LED日光灯电源方案输入DC22-45V输出DC36V/0.9A,要求性能稳定可靠,能过UL认证,求论坛大神推荐方案或设计思路,拜谢:handshake建议方案改成两路并联的18V0.9A+0.9
基于功率MOSFET的激光器外触发系统研制为了推动微波功率合成技术的发展,需要开展多路同步输出的脉冲功率源开关关键技术研究,以实现电子束精确同步(同步抖动≤10 ns),源输出波形一致性好,满足负载工作要求。在气体开关的各种触发方式中,激光触