最新的dsPIC33EP128GS808 系列数位信号处理器为dsPIC33EP64GS506升级版,在Dual Partition Flash方面,从原本64KB增加至128KB,帮助使用者在实现Live Update功能时,有更多的程式撰写空间。硬体周边部份,增加 PTG (Peripheral Trigger Generator)、CLC (Configurable Logic Cell)、DMA (Direct Memory Access)..等,有助於减少处理器执行的负担,并且能使产品应用设计更加简化,进而提升微控制器效能。本文将针对Dual Partition Flash及PTG应用做介绍,对於其他部份,有兴趣的读者可至dsPIC相关网页 www.microchip.com/dsPIC下载相关产品规格及应用文件。
■ Dual Partition Flash
如图所示为Dual Partition Flash方块图,使用者可自行规划不同的操作模式,如Single Boot Mode、Dual Boot Mode和Dual Boot Protected Mode,其各个操作模式说明如下:
- (1) Single Boot Mode
将128KB Flash规划成单一Partition,在使用上如同其他dsPIC33和PIC24 devices。
- (2) Dual Boot Mode
将128KB Flash规划成二个64KB Partition,当程式在Active Partition执行时,CPU不需停止,即可对 Inactive Partition 作Write 或 Erase 操作,其好处为,当使用者在更新产品程式时,产品仍然可正常操作,一旦程式更新完成,再经由Swap指令切换至Inactive Partition执行,下图为电源系统应用波形,使用者可任意更改补偿器,而不影响其输出。
- (3) Dual Boot Protected Mode
将128KB Flash规划成二个64KB Partition,与Dual Boot Mode不同的是,其中一个Partition为Protected,即当程式在Active Partition执行时,不可对 Protected Partition 作Write 或 Erase 操作。使用者可随时将程式更新回原来的Default状态。
■ Peripheral Trigger Generator (PTG)
PTG模组提供使用者自行规划复杂周边触发程序,减少程式执行负担,以增加CPU执行效能。举例来说,传统上若要计算电感电流斜率,使用者必需经由软体撰写,在一个Switch Cycle触发ADC模组进行二次转换,并需要控制一组Timer来计算第一次与第二次触发的时间差,计算电感电流斜率,此将大量花费程式执行时间。若经由PTG模组,如下图所示,当使用者设定完後,PTG将自行触发ADC模组转换,而不需大量软体执行判断,以提高运算之效能。
同时MPLABR Code Configurator (MCC) 也支援dsPIC33EP128GS808开发,经由图形化且直观的界面,可帮助使用者轻易完成PTG应用功能之设计。
欲欲获得更多讯息,请至:
作者 陈健男 Microchip应用工程师