无线数据传输是指终端和监控中心通过无线网络的方式进行数据通信。本文以ARM处理器S3C2440A为核心搭建硬件平台,选用Linux作为嵌入式操作系统,实现了基于CDMA网络的无线数据传输系统。 系统以ARM920T微处理器芯片S3C2440A和CDMA模块Q2438F为实现核心。论文首先研究了基于S3C2440A微处理器的嵌入式系统硬件平台的架构,详细分析了ARM最小系统中各个功能组成模块;然后建立了嵌入式系统开发的arm-linux-gcc交叉编译环境,重点研究了Bootloader和Linux内核的配置与编译,并且在硬件平台上移植了Linux操作系统。在ARM嵌入式Linux开发平台上,研究了基于Video4Linux的USB摄像头采集图像的解决方案,即在Linux内核中加载Video4Linux模块,通过V4L模块提供的编程接口,操作USB摄像头设备文件/dev/video0,并且采用内存映射方式截取视频,完成了图像采集的软件设计。此外,论文还研究了在Linux环境下PPP协议拨号上网的实现方法,即通过AT指令初始化CDMA模块,使之附在CDMA网络上,通过编写脚本程序的方法建立PPP连接,获得网络运营商ISP动态分配给数据传输终端的IP地址,从而实现了无线模块拨号上网功能。在无线终端通过PPP拨号上网后,采用了客户端/服务器端模式,运行套接字(Socket)应用程序,将设备采集到的图像数据通过CDMA网络后再经过Internet传送到监控中心,实现了传输终端和监控中心之间的数据的发送与接收。 论文研究和实现的基于ARM嵌入式Linux和CDMA网络的无线数据传输系统满足设计要求,达到了预期目标。终端内嵌TCP/IP协议,可以通过CDMA网络连接到互联网,数据传输实时性强,为用户提供透明的数据传输通道。相比于传统的传输系统,它具有高可靠性、组网方便、可远程控制等特点,因此在电力自动化、环保、交通监控等领域有着广泛的应用,特别适用于移动环境、难于布线的场所和边远地区。
上传时间: 2013-06-11
上传用户:gaojiao1999
随着现代控制技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。传统的温度监测系统可靠性和实时性相对较差,温度测量的精度和准确度较低,而且大多采用有线方式对整个系统进行控制,这不利于应用的扩展。近年来,嵌入式系统和无线通信技术(特别是短消息业务)受到远程监测领域研究者的密切关注,成为一个研究热点。本文提出了一种将带有I2C总线的ARM嵌入式微处理器和短消息业务(SMS)用于温度检测系统中的方法,实现了温度的多点监测。本文的主要研究内容如下: (1)多点温度监测系统硬件设计。采用以ARM微处理器LPC2290芯片为核心的嵌入式工控板,通过对Benq无线通信模块M22的控制,接收并识别监测中心发过来的短消息内容,实现了多点温度的采集及显示;采用八个带有I2C总线接口的数字温度传感器LM75,组成八点温度采集电路:利用带有I2C总线接口的LED驱动器件ZLG7290及共阴式数码管为温度显示电路,保证了温度测量的精度和准确度。 (2)多点温度监测系统软件设计。根据整个监测系统的特点,提出了软件设计的总体思路,并以ADS1.2为集成开发环境,将μC/OS-Ⅱ嵌入式操作系统的相关代码移植到LPC2290中;采用分层体系思想,使用标准C语言编写程序,结合嵌入式操作系统的任务管理、信号量等机制,并调用相关的应用程序接口函数(API函数),设计了包括温度采集、温度显示、短消息接收与发送等多个子程序。 (3)监测中心软件设计。为了增强系统控制和数据管理功能,使用Visual C++6.0及ADO数据库技术编写了监测中心软件人机交互界面,通过串口使另一M22无线通信模块同监测中心上位机的通信,实现了在PC机上发送短消息指令对下位机进行远程控制,并将接收到的数据存储在Access数据库中以便分析处理。 嵌入式技术和短消息业务在一定程度上提高了多点温度监测系统的测量精度、可靠性、稳定性和实时性,对改进远程监测系统的控制方式和数据传输方式有一定的意义,也为对嵌入式应用项目的开发奠定了基础。
上传时间: 2013-07-08
上传用户:feichengweoayauya
串行数字接口SDI是目前使用最广泛的数字视频接口。它是遵循SMPTE-259M和EBtJ-Tech-3267标准制定的,己经被世界上众多数字视频设备生产厂家普遍采纳并作为标准视频接口,主要用在非线性编辑系统、视频服务器、虚拟演播室以及数字切换矩阵和数字光端机等场合。 以往的SDI接口在实现方法上有成本高、灵活性低等缺点,针对这些不足,本文在研究串行数字接口工作原理的基础上,提出了一种基于FPGA的标清串行数字接口(SD-SDI)的设计方案,并使用SOPC Builder构成一个Nios II处理器系统,将SDI接口以IP核形式嵌入到FPGA内部,从而提高系统的集成度,使之具有视频数据处理速度快、实时性强、性价比高的特点。具体研究内容包括: 1.在分析SDI接口的硬件结构和工作原理的基础上,提出了串行数字接口的嵌入式系统设计方法,完成了SDI接口卡的FPGA芯片内部配置以及驱动电路、均衡电路、电源电路等硬件电路设计。 2.采用软逻辑方法实现SDI接口的传输功能,进行了具体的模块化设计与仿真。 3.引入Nios II嵌入式软核处理器对数据进行处理,设计了视频图像数据的采集程序。 该传输系统以Altera公司的Cyclone II EP2C35F672C8为核心芯片,通过发送和接收电路的共同作用,能够完成标清数字视频信号的传输,初步确立了以SDI接口为数据源的视频信号传输系统的整体模式和框架。
上传时间: 2013-04-24
上传用户:标点符号
多功能车辆总线一类设备是一个在列车通信网(TCN,TrainCommunication Network)中普遍使用的网络接口单元。目前我国的新式列车大多采用列车通信网传输列车中大量的控制和服务信息。但使用的列车通信网产品主要为国外进口,因此迫切需要研制具有自主知识产权的列车通信网产品。 论文以一类设备控制器的设计为核心,采取自顶向下的模块设计方法。将设备控制器分为同步层和数据处理层来分别实现对帧的发送与接收处理和对帧数据的提取与存储处理。 同步层包含帧的识别模块、曼彻斯特译码模块、曼彻斯特编码与帧封装三个模块。帧识别模块检测帧的起始位并对帧类型进行判断。译码模块根据采集的样本值来判断曼彻斯特编码的值,采样的难点在于非理想信号带来的采样误差,论文使用结合位同步的多点采样法来提高采样质量。帧分界符中的非数据符不需要进行曼彻斯特编码,编码时在非数据符位关闭编码电路使非数据符保持原来的编码输出。 数据处理层以主控单元(MCU,Main Control Unit)和通信存储器为设计核心。MCU是控制器的核心,对接收的主帧进行分析,判断是从通信存储器相应端口取出应答从帧并发送,还是准备接收从帧并存入通信存储器。通信存储器存储设备的通信数据,合适的地址分配能简化MCU的控制程序,论文固定了通信存储器端口大小使MCU可以根据一个固定的公式进行端口的遍历从而简化了MCU程序的复杂度。数据在传输中由于受到干扰和冲突等问题而出现错误,论文采用循环冗余检验码结合偶检验扩展来对传输数据进行差错控制。 最后,使用FPGA和硬件描述语言Verilog HDL开发出了MVB一类设备。目前该一类设备已运用在SS4G电力机车的制动控制单元(BCU.Brake Control Unit)中并在铁道科学研究院通过了TCN通信测试。一类设备的成功研制为列车通信网中总线管理器等高类设备的开发奠定了坚实的基础。
上传时间: 2013-07-27
上传用户:qazxsw
作者:华清远见嵌入式学院。《Linux设备驱动开发详解》第16章、Linux网络设备驱动。网络设备是完成用户数据包在网络媒介上发送和接收的设备,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议。 与字符设备和块设备不同,网络设备并不对应于/dev目录下的文件,应用程序最终使用套接字(socket)完成与网络设备的接口。因而在网络设备身上并不能体现出“一切都是文件”的思想。 Linux系统对网络设备驱动定义了4个层次,这4个层次为网络协议接口层、网络设备接口层、提供实际功能的设备驱动功能层和网络设备与媒介层。
上传时间: 2013-05-17
上传用户:小火车啦啦啦
IIC总线汇编程序,用led显示程序的发送和接收,方便调试。
上传时间: 2014-07-11
上传用户:kxw404582151
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
介绍一种运用PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。关键词 异步串行通信 发送与接收 VB4 Win95 串口查询法 1 前言 美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。 但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间的可靠数据传输。有的PIC16单片机内并没有提供串行口,所以串行通信必须通过自己设计的硬件电路和通信软件来实现。 下面介绍用查询法实现异步串行通讯的方法。同时给出了用PIC16F84单片机的两个I/O口模拟2线串行口的硬件接口电路、程序流程框图、单片机内通信程序以及微机内的通信程序等。2 硬件实现方法与电路 PIC16F84的程序存储器由1K×14的闪速(flash)存储器构成,它只有13条I/O口,1个定时器,为了尽量节省单片机的软硬件资源,采用下述异步串行通信的实现方法。 如图1所示,PIC16F84在4MHz时钟下,采用半双工方式,可实现9600波特率的异步串行数据通信,1位停止位,8位数据位,无校验位。接收和发送以低位在先(一般模式),采用软件延时。为节省篇幅,单片机内的通信程序中未提供任何握手协议,用户可根据自己的需要在软件中加入握手方式。
上传时间: 2014-12-27
上传用户:偷心的海盗
串口调试软件SSCOM可供免费使用,免费下载,本软件可以在Win95/98、Win2000、WinNT、WinXP下面运行.软件功能主要为: 1.接收从串口进来的数据并在窗口显示. 2.所接收到的数据数据显示方式可以选择为字符方式或者HEX方式 4.中文显示无乱码,且不影响速度 5.串口波特率可以选择为110bps-256000bps.(波特率>115200时需要硬件支持) 6.可以即时显示存在的串口号.如果您增加了usb转串口等设备,串口号也会在列表中出现. 7.可以选择“5、6、7、8”四种数据长度. 8.可以选择为“1、1.5、2”三种停止位.(1.5停止位需要硬件支持) 8.第9位数据可以选择为“无、奇校验、偶校验、1、0”四种方式. 9.可以选择“无流控、软流控、硬流控、自定义”四种流控方式. 10.串口设置和字符串操作等设置在程序关闭时自动保存,打开时自动载入. 11.可以在接收窗口按键即发送该键值. 12.可以在字符串输入框输入您想发送的字符串,并发送. 13.可以在字符串输入框输入您想发送的HEX数据串,数据的值从00到FF,没有任何限制. 14.可以定时重复发送数据,并可以设置发送时间间隔. 15.可以在发送字符串时选择发送新行,即自动加上回车换行. 16.可以显示当前串口的CTS、DSR、RLSL(CD)信号线的状态. 17.可以自由控制当前串口的DTR、RTS信号线的输出状态. 18.可以打开一个文本文件或者一个二进制文件预览其内容,查看方式可以是文本或者HEX方式. 19.可以打开一个文本文件或者一个二进制文件并以当前波特率发送到串口. 20.可以保存窗口内容到一个文本文件,文件名取自当前时间,保存在当前目录. 21.可以即时显示发送的字节数和接收到的字节数,按清除窗口将会清零. 22.带有功能强大的扩展功能:多条字符串发送定义和网上查找串口资料等. 23.可以定义最多32条预备发送的字符串,每条字符串可以定义为HEX数据串或者字符串方式.在每一条数据的左边打勾就表示这是一条hex数据串. 24.点击字符串右边的标号即可以发送这条定义好的字符串. 25.可以设置为循环发送你定义过的多条字符串,并且可以设置发送时间间隔. 26.在串口资料栏您可以从mcu51网站或者Google查找有关串口技术资料. 27.在串口资料栏您可以进入技术讨论bbs,在此发表您的高见或者提出您的问题和需求. 28.在产品信息栏您可以获得现时最新的产品信息. 29.这是个绿色软件,单个文件即可执行,不会给您的机器增加任何负担. 此版本使用C++Builder编写,相对于上一版本SSCOM2.0,主要改进在: 1.程序更稳定可靠,修改了一些报错信息.使用更加人性化。 2.修改了避免显示汉字乱码的算法,快了许多. 3.hex数据输入的错误兼容性. 4.发送字符串可以加发回车换行. 5.可以保存窗口内容到文件. 6.发送和接收的字符数统计更准确. 7.不再接收到一定数量字符数就清屏,因为发现即使收到很多内容也不会溢出,速度仍然很快. 8,可以打开二进制文件并发送,从前只能发文本文件. 9.打开文件后可以用asc方式或者hex方式预览文件中前4K内容. 10.发送文件前告诉操作者需要发送多少时间.免得久等. 11.新增功能强大的扩展功能,多达32条自定义字符串操作,程序关闭时这些字符串会自动保存,下次开机时再载入,每条可以定义为HEX数据串或者ASC字符串,按后边的数字按钮可以发送.也可以自动循环发送定义过的字符串. 12.新增串口设置自动保存. 13.加入了网络支持功能,用户很方便讨论问题和找到技术支持.
上传时间: 2013-10-26
上传用户:448949