位置:51电子网 » 技术资料 » 通信网络

基于mPSD32xx系列单片机无线远程IAP的实现

发布时间:2008/5/29 0:00:00 访问次数:431

  摘??? 要:针对mcu控制系统终端设备数量多、分布广的情况,本文结合无线基站动态环境监控系统给出了一种在mpsd32xx系列单片机上通过gprs实现无线远程iap的方法。并详述了实现iap的关键技术:flash程序存储器的读/写操作。
关  键词:mpsd32xx系列单片机;gprs;iap;远程升级

引言
  传统的mcu控制系统在下载程序时一般都是通过取下芯片用编程器烧写,或者采用isp方式进行在线编程。随着用户需求和使用环境的不断变化,就会要求系统程序被升级,而采用上述两种方式进行程序升级时都必须要有开发人员进行现场操作。这种升级方式对于终端分散的控制系统来说无疑极大地增加了开发成本,也延缓了程序的更新时间。因此,本文结合无线基站动态环境监控系统, 给出了基于mpsd32xx系列单片机无线远程iap(应用内编程)的具体实现方法,解决了上述问题。

系统架构
  无线基站电源、空调、基站的室内环境等条件对整个系统能否正常运行是至关重要的,为了让无线基站有一个稳定、可靠的运行环境,因而设计了此采集系统。

  针对以上环境,本采集系统下位机将基站电源、空调、基站内温度、湿度、烟雾、门控等集于一体,实时采集该系统所需要的各种数据,同时提供自动告警功能;上位机采用c/s模式设置不同级别的权限提供给各个监控中心。系统的数据传输采用gprs/gsm无线通信网络接入internet进行远程传输:下位机通过gprs/gsm把告警信息自动上传到监控中心或手机等;同时,监控中心或手机可以通过gprs/gsm网络对采集器进行查询、配置等操作,以满足不同的实际需要。在整个系统的设计过程中,为了对多任务进行高效的调度,选用了源码开放的mcosii嵌入式实时操作系统。

硬件设计原理
mpsd32xx芯片简介
  mpsd32xx包含一个标准的8032微控制器模块和一个psd模块。采用模块化设计技术,不仅将构成一个单片机应用系统所需的多个功能块(如8032核、两个flash、sram、i/o、pld、usb接口、i2c接口、双uart口、用于液晶显示的ddc通道、pwm控制器、4路adc等)集成在单一硅片上,同时还可以通过jtag isp方式进行在系统编程,可简化嵌入式应用系统的设计、缩短产品的开发周期、提高系统的可靠性、降低成本并缩小产品尺寸。

  由于mpsd32xx系列产品有主flash和第二flash两块存储器,使得设计人员可以在无需外加存储器的情况下对flash进行远程更新的同时对其执行应用内编程。

硬件接口设计
  串口中的电平转换选用maxim公司的max202cpe芯片。由于在mpsd3234a的串口0中同时连接了gprs模块和门控系统模块,所以在其串口0接收中采用74ls11与门芯片。

硬件配置
  主flash存储器由8个扇区组成,第二flash存储器由4个扇区组成。对flash的配置可以通过软件psd express来实现,配置结果如下:
第一flash仅作为数据空间: fs0:? 0~0x1fff & 0x8000~0xffff(页码序号为0)
? fs1~fs7: 0x8000~0xffff(页码序号为1-7)
第二flash仅作为程序空间: csboot0: 0~0x1fff & 0x8000~0x9ff
csboot1: 0xa000~0xbfff
csboot2: 0xc000~0xdfff
csboot3: 0xe000~0xffff
rs0: 0x2000~0x3fff
csiop: 0x200~0x2ff
下载程序时将启动程序分别下载到fs0、 0~0x1fff和csboot0、0~0x1fff部分。用户程序下载到fs0~fs7、0x8000~0xffff部分。


软件设计与实现
gprs及模块
  本设计选用的gprs模块是wavecom公司的q2406b,它是双频gprs/gsm模块(egsm900/1800mhz或egsm900/1900 mhz),内嵌完整的tcp/ip协议栈,直接通过at指令就可以接入internet,并且其设计开发符合etsi gsm phase 2 标准。单片机完全按照标准at指令使用9.6 kbps波特率通过串口与此模块进行通信。
模块的初始化程序如下:
void gprs_init()
{
mpsd_uart_putchar ("at+cmgd=1,4",0);?? //删除所有短信
mpsd_uart_putchar ("at+cres",0);?????? //释放gprs模块内存
mpsd_uart_putchar ("at+csca?",0);????? //查询短消息中心号码
mpsd_uart_putchar ("at+cmgf=0",0);???? //0:pdu模式,1:文本模式
mpsd_uart_putchar ("at+cmee=1",0);?????? //打开错误代码提示信息
mpsd_uart_putchar ("at+cnmi=0,1",0);???? //打开短消息提示信息
mpsd_uart_putchar("ate0",0);??????????? //关闭回显
mpsd_uart_putchar ("at&w",0);
?}
其中,mpsd_uart_putchar ("abcd",0)函数功能是:mpsd3234a通过串口0向gprs模块发送字符串“abcd”。

iap简介
  iap是应用在flash程序存储器的一种编程模式。可以在应用程序控制下,对程序存储空间进行读取、擦除、写入操作。与isp操作非常相似,不需要从电路板上取下芯片用编程器烧写,都具有在线编程功能。两者之间的不同点是:isp通常是整片擦除、编程,在手工操作下通过pc串口下载程序到flash,而iap却是在某段程序的控制下对另外一段程序flash进行读写操作。

  摘??? 要:针对mcu控制系统终端设备数量多、分布广的情况,本文结合无线基站动态环境监控系统给出了一种在mpsd32xx系列单片机上通过gprs实现无线远程iap的方法。并详述了实现iap的关键技术:flash程序存储器的读/写操作。
关  键词:mpsd32xx系列单片机;gprs;iap;远程升级

引言
  传统的mcu控制系统在下载程序时一般都是通过取下芯片用编程器烧写,或者采用isp方式进行在线编程。随着用户需求和使用环境的不断变化,就会要求系统程序被升级,而采用上述两种方式进行程序升级时都必须要有开发人员进行现场操作。这种升级方式对于终端分散的控制系统来说无疑极大地增加了开发成本,也延缓了程序的更新时间。因此,本文结合无线基站动态环境监控系统, 给出了基于mpsd32xx系列单片机无线远程iap(应用内编程)的具体实现方法,解决了上述问题。

系统架构
  无线基站电源、空调、基站的室内环境等条件对整个系统能否正常运行是至关重要的,为了让无线基站有一个稳定、可靠的运行环境,因而设计了此采集系统。

  针对以上环境,本采集系统下位机将基站电源、空调、基站内温度、湿度、烟雾、门控等集于一体,实时采集该系统所需要的各种数据,同时提供自动告警功能;上位机采用c/s模式设置不同级别的权限提供给各个监控中心。系统的数据传输采用gprs/gsm无线通信网络接入internet进行远程传输:下位机通过gprs/gsm把告警信息自动上传到监控中心或手机等;同时,监控中心或手机可以通过gprs/gsm网络对采集器进行查询、配置等操作,以满足不同的实际需要。在整个系统的设计过程中,为了对多任务进行高效的调度,选用了源码开放的mcosii嵌入式实时操作系统。

硬件设计原理
mpsd32xx芯片简介
  mpsd32xx包含一个标准的8032微控制器模块和一个psd模块。采用模块化设计技术,不仅将构成一个单片机应用系统所需的多个功能块(如8032核、两个flash、sram、i/o、pld、usb接口、i2c接口、双uart口、用于液晶显示的ddc通道、pwm控制器、4路adc等)集成在单一硅片上,同时还可以通过jtag isp方式进行在系统编程,可简化嵌入式应用系统的设计、缩短产品的开发周期、提高系统的可靠性、降低成本并缩小产品尺寸。

  由于mpsd32xx系列产品有主flash和第二flash两块存储器,使得设计人员可以在无需外加存储器的情况下对flash进行远程更新的同时对其执行应用内编程。

硬件接口设计
  串口中的电平转换选用maxim公司的max202cpe芯片。由于在mpsd3234a的串口0中同时连接了gprs模块和门控系统模块,所以在其串口0接收中采用74ls11与门芯片。

硬件配置
  主flash存储器由8个扇区组成,第二flash存储器由4个扇区组成。对flash的配置可以通过软件psd express来实现,配置结果如下:
第一flash仅作为数据空间: fs0:? 0~0x1fff & 0x8000~0xffff(页码序号为0)
? fs1~fs7: 0x8000~0xffff(页码序号为1-7)
第二flash仅作为程序空间: csboot0: 0~0x1fff & 0x8000~0x9ff
csboot1: 0xa000~0xbfff
csboot2: 0xc000~0xdfff
csboot3: 0xe000~0xffff
rs0: 0x2000~0x3fff
csiop: 0x200~0x2ff
下载程序时将启动程序分别下载到fs0、 0~0x1fff和csboot0、0~0x1fff部分。用户程序下载到fs0~fs7、0x8000~0xffff部分。


软件设计与实现
gprs及模块
  本设计选用的gprs模块是wavecom公司的q2406b,它是双频gprs/gsm模块(egsm900/1800mhz或egsm900/1900 mhz),内嵌完整的tcp/ip协议栈,直接通过at指令就可以接入internet,并且其设计开发符合etsi gsm phase 2 标准。单片机完全按照标准at指令使用9.6 kbps波特率通过串口与此模块进行通信。
模块的初始化程序如下:
void gprs_init()
{
mpsd_uart_putchar ("at+cmgd=1,4",0);?? //删除所有短信
mpsd_uart_putchar ("at+cres",0);?????? //释放gprs模块内存
mpsd_uart_putchar ("at+csca?",0);????? //查询短消息中心号码
mpsd_uart_putchar ("at+cmgf=0",0);???? //0:pdu模式,1:文本模式
mpsd_uart_putchar ("at+cmee=1",0);?????? //打开错误代码提示信息
mpsd_uart_putchar ("at+cnmi=0,1",0);???? //打开短消息提示信息
mpsd_uart_putchar("ate0",0);??????????? //关闭回显
mpsd_uart_putchar ("at&w",0);
?}
其中,mpsd_uart_putchar ("abcd",0)函数功能是:mpsd3234a通过串口0向gprs模块发送字符串“abcd”。

iap简介
  iap是应用在flash程序存储器的一种编程模式。可以在应用程序控制下,对程序存储空间进行读取、擦除、写入操作。与isp操作非常相似,不需要从电路板上取下芯片用编程器烧写,都具有在线编程功能。两者之间的不同点是:isp通常是整片擦除、编程,在手工操作下通过pc串口下载程序到flash,而iap却是在某段程序的控制下对另外一段程序flash进行读写操作。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!