有线上网智能手机的制作方法

文档序号:7955733阅读:172来源:国知局
专利名称:有线上网智能手机的制作方法
技术领域
本发明属于通信产品技术领域,尤其涉及一种可以实现有线上网的智能手机。
背景技术
手机作为一种现代通讯工具,已经成为大家日常生活中的一个组成部分。最初的手机只是用来接打电话和收发短信,发展到现在手机还具备了照相、MP3、游戏等多种功能。目前为满足人们对于信息化生活的需要,智能手机应运而生。一般说来,智能手机在具备手机接打电话和收发短信等基本功能的同时,它还拥有一部分PDA的功能。特别在个人信息管理方面和基于无线数据通信的网络浏览器以及电子邮件功能方面,智能手机所拥有的强大扩展性能为软件运行和内容服务提供了广阔的舞台。新闻、天气、交通、股票、商务、应用程序下载等增值服务能够通过智能手机以图文的形式传送到用户手中。
如前所述,智能手机实际上是结合了传统手机和PDA的一种高科技产品。它在具备普通手机全部功能的同时,又具备了一部微型电脑的功能。目前,一部智能手机必须要具备以下几个条件1.拥有普通手机的基本功能,这方面主要指接打电话和收发短信两个方面;2.拥有无线接入互联网的能力,这是指手机必须支持GSM网络下的GPRS网络服务或CDMA网络下的CDMA 1×网络服务,高端产品还应该支持3G网络;3.拥有PDA的主要功能,主要有PIM(个人信息管理),日程记事,任务安排,多媒体播放,浏览网页等等;4.拥有一个开放性的操作系统,在这个操作系统上可以安装和应用互联网上提供的第三方应用程序,从而使手机的功能得到无限的延伸。目前智能手机的操作系统一般采用Symbian、WindowsMobile、Linux以及Palm OS。但是就目前来看,现在的手机的上网方式基本都通过GPRS或者是接入WLAN,这种方式上网不但费用高,而且网络传输速度有限。

发明内容
本发明的目的就是提供一种可以通过有线网络上网的智能手机。
本发明硬件系统包括通信子系统和多媒体子系统。通信子系统包括基带/射频处理器,天线模块与基带/射频处理器电连接;多媒体子系统包括应用处理器、显示模块、音频模块、输入模块、外部存储模块、电源模块和有线网络接口模块,显示模块、音频模块、输入模块、外部存储模块和电源模块均与应用处理器电连接;应用处理器和基带/射频处理器之间通过通用异步接受/发送器(UART)进行连接和通信;有线网络接口模块的ISA总线接口与应用处理器的总线连接。
整个系统采用应用处理器+基带/射频处理器的双CPU的架构。其中,基带/射频处理器采用Cellon公司的CMS91模块,实现电话呼叫/接听、数据传输等基本的通信功能以及射频方面的处理;应用处理器采用三星公司的基于ARM920T核的S3C2410芯片,专用于处理高负荷的多媒体应用。在这种双CPU的架构中,基带/射频处理器和应用处理器被隔离开,各自构成了一个独立的子系统通信子系统和多媒体子系统,两者之间通过UART进行连接和通信。这种架构带来的好处是显而易见的可以单独对系统中任一部分进行升级而不会对其他部分造成影响。
有线网络接口模块采用CIRRUS LOGIC公司生产的16位以太网控制器CS8900A,该芯片内嵌RAM,10BASE-T收发滤波器,直接ISA总线接口。该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。CS8900A的特性包括最大工作电流55mA;支持广泛的软件驱动;3V供电电压;全双工通信方式;可编程发送功能;数据碰撞自动重发;自动打包及生成CRC校验码;可编程接收功能;数据流降低CPU功耗;自动切换于DMA和片内RAM;启动编程支持无盘系统;边沿扫描和回环测试;LED驱动器用于指示连接状态和网络活动情况;待机和睡眠模式。
CS8900A的工作原理为收到由主机发来的数据包后,侦听网络线路。如果线路忙它就等到线路空闲为止,否则立即发送该数据帧。发送过程中,首先添加以太网帧头,然后生成CRC校验码,最后将此数据帧发送到以太网上。接收时,它将从以太网收到的数据帧经过解码、去掉帧头和地址检验等步骤后,缓存在片内。通过CRC校验后,根据初始化配置,通知主机CS8900A收到数据帧,最后传输到主机的存储区中。
本发明的软件系统选择了嵌入式Linux作为智能手机的嵌入式操作系统。设备驱动程序包括有线网络设备驱动、USB驱动、音频模块驱动、LCD驱动、触摸屏驱动、SD\MMC卡驱动。其中有线网络设备的驱动程序提供的接口包括打开函数;关闭函数;发送函数;接收函数;中断处理函数。这些函数的实现如下1)初始化设备的初始化主要由初始化函数来完成。当加载网络驱动模块后,就会调用初始化过程。首先检测网络物理设备是否存在,这是通过探测函数来完成的。接着需要配置设备所需要的资源。在这些都完成后就需要构造设备的device数据结构,用探测到的数据来初始化device中的相关变量。
2)打开和关闭open函数在网络设备被激活的时候被调用open打开网络接口。当接口被激活的时候,网络接口都要打开。向系统登记资源,如IRQ、DMA、I/O端口等等;将module的使用的计数器加1,以便请求它所需要的所有的系统资源,并告诉接口启动。
close关闭网络接口,释放分配的核心内存空间以减少系统负担,并且从device链表里面移除。close是在设备状态由up转为down时被调用的。
3)发送与接收数据的发送与接收是网络设备驱动最重要的函数,这两个函数实现的好坏直接影响到了驱动的质量。系统通过协议接口层函数dev_queue_xmit调用device域中的hard_start_xmit函数指针来完成数据包的发送。网络设备接收数据是通过中断来实现的。一般设备收到数据后都会产生一个中断,在中断处理程序中驱动程序申请一块sk_buff(skb),从硬件读出的数据放置到申请好的缓冲区里,设置skb->pkt_type,标明第二层(链路层)数据类型,最后调用netif_rx()把数据传送给协议层。
4)中断在open函数中已经申请了中断,中断处理函数为net_interrupt。内核首先读取ISQ(Interrupt Status Queue)的值,当收到一个数据包以后(TxEvent),交给net_rx()函数处理。
本发明的智能手机可以通过现有的有线网络,不但费用低而且速度快。用户连上网后就可以像普通电脑那样方便的收发短信和电子邮件,浏览网页和在线视频,而且用户可以通过安装第三方软件来登陆MSN、ICQ、YAHOO,通过这些软件来实现免费打电话。既给用户提供了方便,又节省了用户的费用。这是把手机和现有的网络结合的一种新的途径。


1、图1为本发明中硬件系统结构示意图。
具体实施例方式
如图1所示,该有线上网智能手机包括通信子系统1和多媒体子系统2。通信子系统1包括基带/射频处理器11,天线模块12与基带/射频处理器11电连接;多媒体子系统2包括应用处理器4、显示模块5、音频模块6、输入模块3、外部存储模块7、电源模块9和有线网络接口模块8,显示模块5、音频模块6、输入模块3、外部存储模块7和电源模块9均与应用处理器4电连接;应用处理器4和基带/射频处理器11之间通过通用异步接受/发送器(UART)10进行连接和通信;有线网络接口模块8的ISA总线接口与应用处理器4的总线连接。有线网络接口模块各引脚连接说明如表1所示。
表1 引脚功能




本发明的软件系统选择了嵌入式Linux作为智能手机的嵌入式操作系统。设备驱动程序主要包括有线网络设备驱动、USB驱动、音频模块驱动、LCD驱动、触摸屏驱动、SD\MMC卡驱动。其中有线网络设备的驱动程序提供的接口包括打开函数;关闭函数;发送函数;接收函数;中断处理函数。这些函数的实现如下1)初始化设备的初始化主要由init函数指针所指向的初始化函数来完成。当加载网络驱动模块后,就会调用初始化过程。首先检测网络物理设备是否存在,这是通过探测函数来完成的。接着需要配置设备所需要的资源。在这些都完成后就需要构造设备的device数据结构,用探测到的数据来初始化device中的相关变量。
2)打开和关闭open函数在网络设备驱动程序里是在网络设备被激活的时候被调用(即设备状态由down-->up)。所以实际上很多在初始化中的工作可以放到这里来做。比如资源的申请,硬件的激活。如果dev->open返回非0(error),则硬件的状态还是down。在open方法里要调用MOD_INC_USE_COUNT宏,增加设备被调用的次数。open打开网络接口。当接口被激活的时候,网络接口都要打开。这个时候要向系统登记资源,如IRQ、DMA、I/O端口等等;将module的使用的计数器加1,以便请求它所需要的所有的系统资源,并告诉接口启动。
Close函数和open函数的作用相反。close关闭网络接口,释放分配的核心内存空间以减少系统负担,并且从device链表里面移除。close是在设备状态由up转为down时被调用的。另外如果是作为模块装入的驱动程序,close里应该调用MOD_DEC_USE_COUNT,减少设备被调用的次数,以使驱动程序可以被卸载,另外close方法必须返回成功标志(0==success)。
3)发送与接收数据的发送与接收是网络设备驱动最重要的函数,这两个函数实现的好坏直接影响到了驱动的质量。
系统通过协议接口层函数dev_queue_xmit调用device域中的hard_start_xmit函数指针来完成数据包的发送。如果发送成功,hard_start_xmit释放sk_buff,返回0;如果暂时无法处理,则返回1。这时如果dev->tbusy置为非0,则系统认为硬件忙,要等到dev->tbusy置0以后才会再次发送。tbusy的置0任务一般由中断函数完成,硬件在发送结束后产生中断,这时可以把tbusy置0,然后用mark_bh()调用通知系统可以再次发送。在发送不成功的情况下,也可以不置dev->tbusy为非0,这样系统会不断尝试重发。如果cpm_enet_start_xmit()发送不成功,则不要释放sk_buff。传送下来的sk_buff中的数据已经包含硬件需要的帧头,所以在发送方法里不需要再填充硬件帧头,数据可以直接提交给硬件发送。sk_buff是被锁住的(locked),确保其他程序不会存取它。网络设备的传输函数dev→hard_start_xmit为net_send_packet。
另一方面,驱动程序并不存在一个接收方法,因为网络设备接收数据是通过中断来实现的。一般设备收到数据后都会产生一个中断,在中断处理程序中驱动程序申请一块sk_buff(skb),从硬件读出的数据放置到申请好的缓冲区里。接下来填充sk_buff中的一些信息,skb->dev=dev,判断收到帧的协议类型,填入skb->protocol(多协议的支持)。把指针skb->mac.raw指向硬件数据然后丢弃硬件帧头(skb_pull)。设置skb->pkt_type,标明第二层(链路层)数据类型,最后调用netif_rx()把数据传送给协议层。
4)中断在open函数中已经申请了中断,中断处理函数为net_interrupt。内核首先读取ISQ(Interrupt Status Queue)的值,当收到一个数据包以后(TxEvent),交给net_rx()函数处理。
权利要求
1.有线上网智能手机包括硬件系统和软件系统,其特征在于硬件系统包括通信子系统和多媒体子系统;通信子系统包括基带/射频处理器,天线模块与基带/射频处理器电连接;多媒体子系统包括应用处理器、显示模块、音频模块、输入模块、外部存储模块、电源模块和有线网络接口模块,显示模块、音频模块、输入模块、外部存储模块和电源模块均与应用处理器电连接;应用处理器和基带/射频处理器之间通过通用异步接受/发送器进行连接和通信;有线网络接口模块的ISA总线接口与应用处理器的总线连接;软件系统采用嵌入式Linux作为操作系统,设备驱动程序包括有线网络设备驱动、USB驱动、音频模块驱动、LCD驱动、触摸屏驱动、SD\MMC卡驱动;其中有线网络设备的驱动程序提供的接口包括打开函数、关闭函数、发送函数、接收函数、中断处理函数,其实现如下1)初始化设备的初始化由初始化函数完成,首先检测网络物理设备是否存在,然后配置设备所需要的资源,完成后构造设备的device数据结构,用探测到的数据来初始化device中的相关变量;2)打开和关闭open函数在网络设备被激活的时候被调用,open打开网络接口,当接口被激活时,网络接口打开,向系统登记资源,将module的使用的计数器加1,以便请求它所需要的所有的系统资源,并告诉接口启动;close关闭网络接口,释放分配的核心内存空间以减少系统负担,并从device链表里面移除;3)发送与接收系统通过协议接口层函数dev_queue_xmit调用device域中的hard_start_xmit函数指针来完成数据包的发送,网络设备接收数据通过中断来实现;4)中断在open函数中已经申请了中断,中断处理函数为net_interrupt,内核首先读取ISQ(Interrupt Status Queue)的值,当收到一个数据包以后(TxEvent),交给net_rx()函数处理。
全文摘要
本发明涉及一种可以实现有线上网的智能手机。现在手机的上网方式基本都通过GPRS或者是接入WLAN,这种方式上网不但费用高,而且网络传输速度有限。本发明硬件系统包括通信子系统和多媒体子系统。多媒体子系统包括应用处理器、显示模块、音频模块、输入模块、外部存储模块、电源模块和有线网络接口模块。有线网络接口模块的ISA总线接口与应用处理器的总线连接。软件系统采用嵌入式Linux作为智能手机的嵌入式操作系统。本发明的智能手机可以通过现有的有线网络,不但费用低而且速度快。
文档编号H04W88/02GK1819686SQ20061004985
公开日2006年8月16日 申请日期2006年3月15日 优先权日2006年3月15日
发明者章坚武 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1