封面
《异步串行接口与以太网服务器的连接》Word格式可编辑含目录
精心整理放心阅读欢迎下载
文档信息
异步串行接口与以太网服务器的连接
目录
2范例
1虚拟调制解调器
(1 false)
(0 true)s=null;No incoming connection re. . .
2 UPS监视器
正文
摘要提供一种简便、经济的方法通过TINI平台实现串行接口设备与以太网的连接。一旦设备连接到以太网就能提供TINI Web服务。 关键词 以太网串行接口TINI
很多电子设备利用串行接口与其它设备进行通信其中有温度调节器、 POS机、远程监控仪、条码扫描仪、票据打印机、射频标签收发器、血压计及其它现场使用的测试设备和新型自动化设备。大多数设备与外部的通信是通过串口进行的不能直接连接到大型计算机网络无法满足TCP/IP连接和以太网通信的需求。 由于成本和时间问题很少有人选择对系统进行重新设备的途径。利用本文介绍的基于
DS80C390或DS80C400微控制器的TINI平台可以将孤立的串行设备连接到以太网。
1 TINI和网络
TINI 微网接口是Dallas Semiconductor开发的一种技术平台 目的是协助用户快速整合DS80C390/DS80C400网络微控制器的研发 TINI定义了一个芯片组包含一个嵌入式操作系统其中整合了经过高度优化的Java运行环境。 Java编程者可从其中获得一般的嵌入式开发中不多见的强大功能多线程、无和单元收集、继承性、虚拟化、跨平台能力、强大的网络支持 以及—最后但很重要—大量免费的开发工具。 TINI使用乾通常不直接面对汇编代码。不过为了优化严格要求速度的通道或者访问底层硬件 同时也支持并鼓励本地语言子程序TINI操作系统用本地代码写成 因此 串行I/O的吞吐率和现代PC没有明显差异 。除完全支持包外 TINI Java运行环境还包含一个完整实现的子系统。通过Java可毫不费力地访问TCP/IP和串行口 因此 TINI系统可非常容易地用来实现串行口-以太网桥。
下面的例子中 TINIm390验证模块放置在E10插槽是
DS80C390 TINI开发平台的硬件部分TINIm400是配合DS80C400制作的 。除了SRAM、 Flash、 以太网、 CAN总线、 1-Wire等系统还有四个串口其中DS 80C 390内部包括两个UART另外两个是扩充的采用一片16550选配件 。需要注意的是 E10插座上的两个串行连接器都被接到了ser ial 0它们只是在DTE/DCE引脚安排上有所差异。详细资料请参阅《TINI特性和开发指南》 PDF文件可以从。
2范例
下面介绍两具具体应用并从一个普通的串行口-以太网程序中摘录片段出来。经过修改它几乎可适应于各种应用。这些范例利用TINIm390/400验证模块搭建而成如图1所示。
可以把TINI验证模块看成“黑盒子” 将多个串行设备挂接到以太网。根据最终设备的需要 TINI可以让数据流直通也以对数据进行解析、翻译或修改。尽管设计人员可以在TINIm390/400的开发器外壳上运行这些范例但更合理的做法将其驻留于内存之中掉电之后还能够自启动并利用其它一些TINI构造技术使最终产品更加牢靠。如果想修改这些范例需要具备一些基本的网络知识和编程经验。样例工作代码也可以Dallas公司ftp站点
1虚拟调制解调器
虚拟调制解调器Modem利用TINIm390/400和TCP/IP连接替代特殊调制器和电话线。假定有一个旧设备 比如某工厂的“机器状态监视器” 它利用一个调制解调器一天之内数次拨号到一个中央服务器报告机器的状态、负载和效率数据。为了削减服务器端日益增长的调制解调器库并利用现有的LAN取代连接到设备的电话线我们可以重写服务器软件以支持TCP/IP并且用TINI虚拟调制解调器取代每个机器上原有的调制解调器。这样机器状态监视器就不必再作任何修改对于最终设备而言虚拟调制解调器的使用和一个真正的调制解调器完全一样。
除了上述配置虚拟调制解调器当然也可以成对使用。如果双方都使用虚拟调制解调器就无须对服务器软件作任何改动 TINI模块可直接替换现有的调制解调器。在此情况之下虚拟调制解调器每次接到“AID”调制解调器拨号命令时实际建立的是TCP连接。 “ATH”断开命令关闭TCP连接。软件也实现一系列其它的经典AT调制解调器命令并被诸如Microsoft Windows之类的网络系统认作真调制解调器此外虚拟调制解调器还可以侦听TCP端口 当收到“呼叫”信号时 向终端设备发出“振铃”
下面的代码片段显示了如何对TINIm390上的串行口进行初始化public static void man(String args[
(false)
(false)
(false)
("Connecting to serial0 at 9600bps " "listening on TCPport 8001"try{
CommPortIdentifier portId=("seria10"
SerialPort port=(SerialPort)=(SerialPort) ("VmodemTINI"
10000)
(1 fal s e)
(0 true)
TCPSerialVirtualModem modem=new TCPSerial
VirtualModem(port /*Comm speed */9600 /*TCP Port */8001)catch (Excepiton e)
("Exception:+(
这段代码首先禁止掉所有来自TINI OS的调试输出——TINI上的标准惯例。获得一个端口号后打开这个端口 如果端口正在被另一个应用使用第二个参数指明等待多久 接下来设置硬件流控制状态。 由于TINIm390仅有一套RTS/CTS线用于串口0和1在目标端口使用它们之前程序首先应该关掉其它端口上的流控制下面就是一个Java虚拟调制解调器范例。
虚拟调制解调器类似包含一个AT命令解释器未在此示出尽管到目前为止它是本范例中最大的一部分和网络代码。下面的代码用来设置串口位速率、数据和停止位 以及奇偶位。从中可以看出处理入站连接是何等简单
/**Creates a new VirtualModem connected to a serial porton
* one end and a TCP port on the data side。
* serial --the serial port this VirtualModem talks to。
* speed --the speed the serial port should be set to。
* tcpport --the TCP port this VirtualModem liste on。
* throws IOException when there' s a problem with theserial or TCP port.public TCPSerialVirtualModem(SerialPort serial intspeed int tcpport)throws IOExceptionsuper(serial)try{
(speed _8
_1 _NO NE)catch(Uupported CommOperationException e)
throw new IOException(serveock=new Serveocket(tcpport 1) ;backlog of onelistenThread=new listenInbound(
最后 l istenThrad()片段可接受一个到来的连接请求public void run() {int rc;
Socket s;
While (running)s=null;No incoming connection requesttry {awered=false;s=(
Discard incoming connection if already connectedif(connected)
throw new IOException(sock=s;for awer(
2 UPS监视器
<P style="T
“异步串行接口与以太网服务器的连接”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载
新网好不好?新网域名便宜吗?新网怎么样?新网是国内老牌知名域名注册商,企业正规化运营,资质齐全,与阿里云万网和腾讯云DNSPOD同为国内服务商巨头。近日新网发布了最新的七月放价季优惠活动,主要针对域名、云主机、企业邮箱、SSL证书等多款云产品推送了超值的优惠,其中.com顶级域名仅19.9元/首年,.cn域名仅16元/首年,云主机1核心2G内存3Mbps带宽仅9.9元/月,企业邮箱更是免费送1年,...
WebHorizon是一家去年成立的国外VPS主机商,印度注册,提供虚拟主机和VPS产品,其中VPS包括OpenVZ和KVM架构,有独立IP也有共享IP,数据中心包括美国、波兰、日本、新加坡等(共享IP主机可选机房更多)。目前商家对日本VPS提供一个8折优惠码,优惠后最低款OpenVZ套餐年付10.56美元起。OpenVZCPU:1core内存:256MB硬盘:5G NVMe流量:200GB/1G...
关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...