DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0
打印 上一主题 下一主题

一种S3C44B0X在水表智能抄表系统中的实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:48:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ?
  1 水表智能抄表系统简介
  目前,许多国家的电力工业机制都在引入竞争机制、建立电力市场的电力体制改革,目的在于更合理地配置资源,提高资源利用率,促进电力工业与社会、经济、环境的协调发展。在我国,随着改革的深入和电力市场供求状况的变化,现行的电力体制已难以适应社会主义市场经济体制的要求。电力工业快速发展的同时,电力体制改革也逐步深入,电力工业以"公司制改组、商业化运营、法制化管理"为改革目标的基本取向。电力工业管理体制由计划经济向市场经济转变。政府宏观调控、企业自主经营、行业协会提供服务,适应市场经济要求和电力生产特点的新型电力工业管理体制正在逐步建立。
  自来水表的智能抄表系统框图如图1所示。用户的机械式水表改装成智能水表后,连接到装在楼底下的汇集器上。汇集器每隔一定的时间(具体时间可以设置)对智能水表采集一次数据,保存在存储器里。如果该楼梯的用户数大于16个或连线超过500m时,需在智能水表与汇集器之间加中继器,以增加驱动能力。智能抄表系统中的核心部分是便携式抄表手机。它的主要任务是用自己的指令解释并运行上位机所编的Foxpro程序;采集汇集器或者智能水表的数据,更新数据库中的内容;并与上个月数据相比较,计算出用水量并当场打印账单,由抄表员将各用户的账单放到楼梯口的用户信箱中;通过手机上的USB接口可以将数据传输给计算机,由计算机进行处理、存档。



?
  目前电力企业使用的抄表方式主要有三种集抄、人工抄表和抄表机抄表;集抄指用电用户较集中如住宅小区,它采用电子表,每只电表通过数据线连接到集控器,集控器自动定时进行抄表,抄完后使用无线发送到电力企业接收端,并转入电力营销系统中进行计费,优点抄表效率最高,缺点投入成本太高,要求用户住宅高度集中;人工抄表指抄表工使用本子到每户的电表进行读数手抄记数,然后送到电力公司进行手工输入电力营销系统中进行计费。
  抄表手机是连接上位机与汇集器、智能水表的核心部分。它有键盘输入,可以手动查询、更新数据库中的数据;大屏幕LCD点阵显示,良好的人机对话界面;16MB FLASH RAM,用于存放系统配置文件、程序及数据库文件;2个RS232接口,一个USB接口。其中一个RS232接口连接红外转发器,实现同智能水表、汇集器的有线或红外通讯,完成对每个水表的数据采集工作,并可通过该接口对汇集器或智能水表进行设置、修改。另一个RS232接口作为与微型串口打印机的通讯口。USB接口完成同计算机的通讯,可以将抄表手机中的数据传送给计算机,也可以接收计算机下传的DBF和PRG文件及其他系统配置文件。
  2 32位机S3C44B0X在智能抄表系统中的应用
  S3C44B0X CPU是SAMSUNG公司推出的基于ARM7TDMI核的精简指令系统的32位高速处理器。它的工作电压为3.3V,内核ARM7TDMI的工作电压仅为2.5V,大大降低了芯片的功耗。S3C44B0X带有:①8个 MEMORY BANKS,用于管理外部存储器,最大存储容量达到256MB.可外扩EPROM,SDRAM,FLASH RAM,USB,LCD.每个Bank支持8/16/32位的数据格式,可寻址32MB(除BANK0,其后4MB保留给内部寄存器使用)。其中BANK0专用于系统启动,因此它的存储器必须是线性寻址并且有记忆功能;BANK6、7专用于SRAM、FP/EDO/SDRAM等;②LCD控制器支持单色、4、16级灰度的LCD模块;支持4位的单双行扫描、8位的单行扫描形式的显示类型;支持的主要显示点阵为:640×480, 320×240, 160×160等;③两路UART口,最高波特率为115200baud,支持IrDA 1.0,可用于红外通讯;④5路PWM调制输出,可用于控制蜂鸣器输出不同声音,提示系统各类信息;⑤71个I/O口,包括8个外部中断源,可用于键盘、LCD背光、照明控制等;⑥8路10位A/D转换器,可用于系统电池检测;⑦带日历功能的系统实时时钟,可用于纪录抄表时间;⑧内置的PLL锁相环可以设置系统工作频率,最高达73MHz;⑨4种系统工作模式:正常、慢速、闲置和停止模式。根据需要设置不同的工作方式,可以降低系统功耗。
  用S3C44B0X实现智能抄表手机功能的硬件连接图如图2所示。
?



?
  2.1 S3C44B0X与SDRAM HY57V161610D的连接
  在抄表手机中运行的是一个自己编写的小型操作系统。它拥有自己的文件系统,能够解释并运行上位机所编写的Foxpro程序。由于牵涉到对数据库的操作,系统所需的内存较大。本系统选择了HYUNDAI公司的SDRAM-HY57V161610D.它的数据宽度为16位,由两个BANK组成,共2MB的存储容量。由于S3C44B0X的BANK6、7支持SDRAM,因此它与HY57V161610D的连接相当简单,不需要软件驱动程序,只要设置两个寄存器即可。在BWSCON寄存器中设置BANK6的数据宽度为16位,在BANKCON6寄存器中设置MT=0X3,Trcd=0X0,SCAN=0X0.
  2.2 S3C44B0X与FLASH KM29U128T的连接
  抄表手机中保存抄表所得的数据库。当用户较多时,数据库会占用较大的存储空间。特别是当进行一个月用水报表分析时,汇集器每隔一小时(或者更短)就存储一次数据,抄表手机必须读取这一个月的全部数据。此时的数据库是相当庞大的。因此选择了SAMSUNG公司的FLASH-KM29U128T,该FLASH存储容量达16MB,足够数据库存储使用。它的不足之处是:它不是线性寻址的,存储速度较慢;读写比较麻烦,必须按页为单位(512字节)进行读写,每次写之前必须对该页所在的BLOCK进行一次擦除;而且它并不保证每个BLOCK(32PAGE为一个BLOCK)都是好的,坏率为1%,但它保证前两个BLOCK肯定是好的。
  利用前两个BLOCK建立一个FAT表,用逻辑的BLOCK号对应物理上的BLOCK,每次读写都对逻辑上的BLOCK进行操作。在每次写操作时都进行一次读操作,与所写的内容进行比较。如果发现有所不同,就再写一次;若再错就认为该BLOCK坏了,做好标记并找后面好的BLOCK来代替,这样能保证逻辑上的BLOCK都是好的。
  2.3 3C44B0X与LCD TCM-A0902的连接
  3C44B0X自带LCD控制模块,但它并不支持所有点阵形式的LCD.为了充分利用该芯片,可以选它所支持的LCD.但如果一定要用其他的LCD,这也没关系,因为对LCD的操作就象对其他的存储器操作一样简单。
  本系统选用的是EPSON公司的TCM-A0902、单色、320×200.直接使用3C44B0X的BANK4来控制。由于3C44B0X是高速处理器,因此在对LCD操作时加入了软延时。
  LCD显示满屏的程序如下:
  #define LCDCMD (*(volatile unsigned char *) 0x8000000)
  #define LCDDATA (*(volatile unsigned char *) 0x8000001)
  void Lcd_Displayfull(void )??????????????? //显示满屏
  {???? int j;
  U8 i,k;
  LCDCMD=PASET;??????????????????? //页面设置,page0
  LCDDATA=0x0;
  LCDCMD=CASET;?????????????????????? //列设置, column0
  LCDDATA=0x0;
  LCDDATA=0x0;
  for(i=0;i<25;i++)??????????????? //从第0页到24页
  { for(j=0;j<320;j++)??????? //从第0列到319列
  { LCDCMD=MWRITE;?????? //写命令
  LCDDATA =lcd_disp[j];? //写数据
  for(k=0;k<3;k++);?????? //软延时
  }
  LCDCMD = RETURN; //换页
  }
  }
  2.4 3C44B0X与USB9603的连接
  由于抄表手机抄表所得的数据是以数据库的形式传送给上位机,当数据库较大时不可能通过串口传送。USB通讯时,最高理论传输速率可达到12MB/s,因此可以通过USB来传送数据库。由于3C44B0X不带USB接口,因此必须外扩一个USB接口。
  本系统选用NATIONAL公司的USBN9603.它是9602的改进型,对9602存在的一些缺陷作了改正,并减少了部分寄存器,使得对USB通讯的编程相对简单了许多。由于牵涉到对FLASH的操作,USB的通讯速率并没有想象的那样高。下传数据库时,由于要对FLASH进行写操作,USB的传输速率只有200KB/s;但是上传时只对FLASH进行读操作,USB的传输速率就明显快多了,可以达到800KB/s.因此,选择何种FLASH,如何对FLASH进行编程,对USB的传输速率有较大的影响。
  2.5 抄表手机其他部分
  抄表手机还包括键盘输入、串口通讯、电池检测等部分。这几部分比较简单。比如键盘输入部分:如果想用键盘中断,只要用外部中断EINT4、5、6、7,因为这四个中断源的中断入口地址是同一个,再加上几个普通的I/O口就可以组成一个中断键盘。如果想改成扫描键盘,那也很简单,只要把EINT4、5、6、7设置成I/O口功能就可以了,硬件上不需要作任何改动。串口通讯也很简单,只要在S3C44B0X的UART口上外接一片MAX232电平转换芯片就可以实现标准的RS232通讯功能。电池检测部分只要把来自电池部分的电压连接到某个A/D口就可以了。如果所用的电池电压高于S3C44B0X的工作电压(3.3V),通过电阻分压后再接到A/D口。
  由于FLASH KM29U128T不是线性寻址的,不能作为系统启动之用。因此,需要一片线性寻址的EEPROM(如29EE010)作为系统初始化使用。它的主要任务是初始化系统,把存于FLASH中的操作系统调入SDRAM中运行。因此,EEPROM的容量不需很大。硬件连接时注意EEPROM的片选信号应接S3C44B0X的BANK0(NGCS0)。
  自来水表的智能抄表系统是个比较大的系统,本文只涉及到它的核心部分,而且是硬件部分。电力测量设备与电能计量装置不仅关系到结算的准确性,涉及各利益主体的经济效益,而且对系统的运行具有参考和指导意义。运营管理人员对采集的电网运行参数、电量等数据进行分析、评价,可以及时采取措施,调整发供配电方式,不断提高电网运行的经济性。
?
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-23 10:32 , 耗时 0.096589 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表