基于32位高速处理器S3C44B0X实现水表智能抄表系统的设计

发布时间:2023-02-07  

1 水表智能抄表系统简介

目前,自来水表都是机械式的,而且多数自来水表都装在户内,这给水表抄表员带来了很大的麻烦。当抄表员抄表时,必须挨家挨户用肉眼读取水表的读数,然后登记在随身携带的小本子上。回去以后,还要由专门的电脑输入员把水表读数输入到计算机中的数据库里,计算出本月的用水量,再打印出本月各用户应交的水费。这一过程不但工作量大,而且很容易出错。现在得理上海电子有限公司开发出了智能水表,对机械水表中的指针转过的圈数进行计数,通过串口 RS422 发送水表读数。这给自来水表的智能抄表系统奠定了基础。


自来水表的智能抄表系统框图如图1所示。

基于32位高速处理器S3C44B0X实现水表智能抄表系统的设计

用户的机械式水表改装成智能水表后,连接到装在楼底下的汇集器上。汇集器每隔一定的时间(具体时间可以设置)对智能水表采集一次数据,保存在存储器里。如果该楼梯的用户数大于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/18/32位的数据格式,可寻址32MB(除BANK0,其后4MB保留给内部寄存器使用)。其中BANK0专用于系统启动,因此它的存储器必须是线性寻址并且有记忆功能;BANK8、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所示。

基于32位高速处理器S3C44B0X实现水表智能抄表系统的设计

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 =1cd_disp I 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。


自来水表的智能抄表系统是个比较大的系统,本文只涉及到它的核心部分,而且是硬件部分。软件部分的工作量也较大,要能够用S3C44B0X的指令解释并运行FOXPRO程序。以ARM7TDMI为内核的S3C44B0X能够在SDT2.5的调试平台上用标准C语言进行编程调试、软件仿真,大大缩短了软件的开发周期。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    利用超低功耗降低了运行成本,还可以配合客户的大数据云平台,更好地服务公用事业应用。 东日信息基于LR mesh自组网技术的智能水表方案由基表和远传单元组成,远传单元对基表进行数据采集和传输。凭借LoRa的超低功耗、远距......
    智能燃气和水表具有远传抄表功能,可以实现不入户查表,发生紧急事故时也可以实现远程关闭阀门。随着智能表计技术的不断成熟,稳定,未来将实现兼具远程抄表、实时计费、报警提醒、远程控阀、实时互动等功能。现场......
    表计在国内市场开始商用;2019年,NB-IoT智能水表/燃气表均突破1000万户。到2020年,NB-IoT和NR被正式纳入5G标准,智能表计的发展呈现出新特点。同时,远程抄表、远程......
    表计行业客户提供、低功耗蓝牙BLE5.1 SOC、金融级安全芯片等表计方案核心芯片产品,以及从端到云的智能表计解决方案,上述相关芯片已在智能水表、智能电表、智能燃气表、智能......
    表计行业客户提供低功耗MCU、低功耗蓝牙BLE5.1 SOC、金融级安全芯片等表计方案核心芯片产品,以及从端到云的智能表计解决方案,上述相关芯片已在智能水表、智能电表、智能燃气表、智能......
    电阻远传压力表如何接变频器;  电阻远传压力表接线   远传压力表的1、2、3端中,其中有两端,在没有压力时,电阻值在30欧左右。随着压力的上升,电阻值最大为350欧左右。将远传压力表两端接到A,与......
    道直管段长度不足或管道内产生旋转流时,应考虑流体校正措施,增选相应管径的整流器。 (4)特殊型差压流量计 ①蒸汽流量计 饱和蒸汽的流量,当要求的精确度不高于2.5级,并为就地或远传积算时,可采......
    P3口承担其他输入、输出信号的接口。下面根据水文测验的特点,介绍主要的接口电路和工作过程。 1.1、ADC0809接口电路 以ADC0809为中心的接口电路如图2所示。 他将电传水......
    我们常见的一个案例: 当设定水箱水位值为150mm时,不论水箱的出水量为多少,通过调节进水量,能够实现水箱水位保持在150mm的位置。由于液位高度与水箱底部所受压力成正比,因此可用一个远传......
    筒与法兰衔接处采用独特的内衬工艺,有效防止因挤压破损导致的介质泄漏所引发的意外腐蚀损坏,多用于测量强腐蚀性的液体。 4、远传型磁翻板液位计的具体应用 远传型磁翻板液位计即磁翻板液位计与干簧管远传变送器配套使用时的统称,由于加置了远传......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>