⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 基于dsp的网络通信程序设计-搜一百范文222222222网.htm

📁 这是我上-dsp-5400用的课件。里面有软件的simulater的设置
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0086)http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/200606314011337318941857_2.htm -->
<HTML><HEAD><TITLE>基于DSP的网络通信程序设计-搜一百范文网</TITLE>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=基于DSP的网络通信程序设计 name=Keywords>
<META content=基于DSP的网络通信程序设计 name=Description><LINK 
href="基于DSP的网络通信程序设计-搜一百范文222222222网.files/css.css" type=text/css 
rel=stylesheet>
<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY contentEditable=false bgColor=#ffffff topMargin=0 marginheight="0">
<CENTER>
<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/top.js"></SCRIPT>

<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/ad_760x100.js"></SCRIPT>

<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
  <TBODY>
  <TR>
    <TD height=10></TD></TR>
  <TR>
    <TD><A href="http://www.so100.cn/">首页</A> → <A 
      href="http://www.so100.cn/html/lunwen/">论文频道</A> → <A 
      href="http://www.so100.cn/html/lunwen/ligong/">理工论文 </A>→ <A 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/">电子通信网络论文</A> → 正文 [
      <SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/Click.htm"></SCRIPT>
      ]</TD></TR></TBODY></TABLE>
<H2>基于DSP的网络通信程序设计</H2>
<TABLE cellSpacing=6 cellPadding=0 width=760 border=0>
  <TBODY>
  <TR>
    <TD class=content align=middle>
      <SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/news2.js"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 border=0>
  <TBODY>
  <TR>
    <TD height=10><IMG src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/dot.gif"></TD>
    <TD width=762>
      <P align=left><FONT color=#000000><SPAN 
  class=content></SPAN></FONT></P></TD></TR>
  <TR>
    <TD width=10><IMG src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/dot.gif"></TD>
    <TD width=750>
      <DIV class=guanggao>
      <SCRIPT type=text/javascript><!--
google_ad_client = "pub-6998138566241545";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF0000";
google_color_text = "000000";
google_color_url = "FF0000";
//--></SCRIPT>

      <SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/show_ads.js" 
      type=text/javascript>
</SCRIPT>
      </DIV>
      <P align=left><FONT color=#000000><SPAN 
      class=content>个重要的工作就是接收缓冲环的设置,为了有效利用缓冲区,NIC将接收缓冲区RAM构成环形缓冲结构,如图2所示。<BR>&nbsp;&nbsp;&nbsp;&nbsp;接收缓冲区RAM分成多个256字节的缓冲区,N个(N最大为256)这样的缓冲区通过指针控制链接成一条逻辑上的缓冲环。缓冲环的开始页面地址存入PSTART寄存器,环页面结束地址存入PSTOP寄存器。PSTART和PSTOP确定了接收缓冲环的大小和边界。为便于缓冲环读写操作,还需要2个指针:当前页面指针CURR和边界指针BNRY。CURR确定下一包放在何处,起着缓冲环写页面指针作用;BNRY指向未经DSP取走处理最早到达的数据包起始页面,新接收的数据包不可将其覆盖,起着缓冲环读页面指针的作用。也就是说,CURR可以告诉用户网卡接收的数据分组当前放到了什么位置,而BNRY则用于确定DSP读缓冲环到了什么地方。由于接收缓冲区为环形结构,BNRY和CURR相等时,环缓冲区可能满也可能空。为了使NIC能辨别这两种状态,规定当BNRY等于CURR时,才认为环缓冲区满;当缓冲区空时,CURR比BNRY指针值大1。因此,初始化时设置:BNRY=PSTART,CURR=PSTART+1。这时读写指针不一致,为了保证正确的读写操作,引入一软件指针NEXTPK指示下一包起始页面。显然,初始化时NEXTPK=CURR。这时,缓冲环的读指针对NEXTPK,而BNRY只是存储分组缓冲区的起始页面边界指示,其值为NEXTPK-1。<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.2接收控制过程<BR>&nbsp;&nbsp;&nbsp;&nbsp;DSP完成对DP8390的初始化后,网卡就处于接收状态,一旦收到分组,就自动执行本地DMA,将NIC中FIFO数据送入接收缓冲环,然后向主机申请“数据分组接收到”中断请求。DSP如果响应中断,则启动网卡远程DMA读,将网卡缓冲区中的数据分组读入学生机存储区,然后对接收缓冲环CURR、NEXTPK、BNRY指针内容进行修改,以便网卡能从网上正确接收后续分组。DSP响应网卡接收中断后,接收控制过程如下:<BR>&nbsp;&nbsp;&nbsp;&nbsp;①设置远程DMA的起始地址;RSAR0=00H,RSAR1=Nextpk。<BR>&nbsp;&nbsp;&nbsp;&nbsp;②设置远程DMA操作的字节数,这个长度在46~1500字节范围内根据具体要求自己确定。<BR>&nbsp;&nbsp;&nbsp;&nbsp;③0AH送命令寄存器CR,启动远程DMA读。<BR>&nbsp;&nbsp;&nbsp;&nbsp;④从网卡数据端口依序读入数据分组,注意,最先读入的4字节非数据分组内容,第1字节为接收状态,第2字节为下一包页地址指针,3与4字节为接收字节数。第2字节内容应该送入Nextpk,其它字节根据用户要求处理。<BR>&nbsp;&nbsp;&nbsp;&nbsp;⑤修改边界指针BNRY=Nextpk-1。<BR>&nbsp;&nbsp;&nbsp;&nbsp;⑥清除远程DMA字节数寄存器RBCR0和RBCR1。<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.3发送控制过程<BR>&nbsp;&nbsp;&nbsp;&nbsp;DSP先执行远程DMA写操作,将内存中的数据分组传至网卡发送缓冲区,然后启动发送命令进行数据分组发送。发送控制过程如下:<BR>&nbsp;&nbsp;&nbsp;&nbsp;①设置远程DMA的起始地址为网卡发送缓冲区起始地址;<BR>&nbsp;&nbsp;&nbsp;&nbsp;②设置远程DMA操作的字节数;<BR>&nbsp;&nbsp;&nbsp;&nbsp;③12H送命令寄存器CR,启动远程DMA写;<BR>&nbsp;&nbsp;&nbsp;&nbsp;④依序送出数据分组至网卡发送缓冲区;<BR>&nbsp;&nbsp;&nbsp;&nbsp;⑤清除远程DMA字节数寄存器;<BR>&nbsp;&nbsp;&nbsp;&nbsp;⑥设置发送字节数寄存器TBCR0和TBCR1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;⑦12H送命令寄存器CR,启动数据分组发送。<BR>&nbsp;&nbsp;&nbsp;&nbsp;3发送方发送频率的控制<BR>&nbsp;&nbsp;&nbsp;&nbsp;发送方发送频率的正确控制主要保护两点:一是有一个最小发送时间间隔,否则会因为接收方不能及时接收而导致系统瘫痪;二是发送频率能够足具体的功能实现要求。譬如在语音的实时通信中,发送频率就取决于声卡的采样频率。在8kHz采样频率时,声卡每秒钟采样8000字节,采用1024字节需用时128ms,如果通信协议规定发送1次传送1024字节有效数据,则必须每128ms发送一次才能保证缓冲区有新数据待发送,也才能保证接收方有新数据播放。128ms是一个理论计算数值,在实际的操作中采样速度和发送频率之间总是不能完全匹配,而存放数据的缓冲区大小是有限的,如果没有良好的控制技巧来实现正确发送,就会造成声音抖动和延时。解决的办法是双缓冲技术和双指针控制,并且根据采样速度和发送频率之间的匹配情况送入不同的发送通信进行处理后发送。正确发送的含义有两方面,一是每次发送的都是新数据,二是能满足接收方总在播放新数据的需求。<BR>&nbsp;&nbsp;&nbsp;&nbsp;4接收方防止数据包的丢失<BR>&nbsp;&nbsp;&nbsp;&nbsp;由于DSP通过中断请求判断是否有数据分组到来,如果中断繁忙而两个数据包到来时间相差非常短,DSP有可能只响应一次中断,从而导致丢包的发生。分析网卡接收数据过程,当网卡收到数据分组时,首先执行本地DMA,将NIC中FIFO数据送入接收缓冲环,并将本地DMA操作的起始地址存放在当前页寄存器(CURR)和当前本地DMA寄存器(CLDA0、CLDA1)中,DSP从网卡接收缓冲环读出数据到存储器则称远程DMA操作,用软件指针Nextpk来指示远程DMA的起始页面。因此通过比较网卡本地DMA和远程DMA的当前地址,即在中断服务子程序中比较CURR和Nextpk指针,或比较CLDA0、CLDA1和Nextpk指针,就可以保证当前数据分组放到了哪里就读出到哪里,从而防止丢包的发生。<BR>&nbsp;&nbsp;&nbsp;&nbsp;5结论<BR>&nbsp;&nbsp;&nbsp;&nbsp;DSP对网卡通信过程控制的实现解决了DSP网络中任意站点之间,DSP网络与PC机之间准确、高速的实时通信问题,是将网络技术应用到DSP数字化系统中的关键,从而最终实现了以DSP为核心的处理系统数字化和网络化的融合。<BR>&nbsp;&nbsp;&nbsp;&nbsp;
      <DIV align=right>本新闻共<FONT color=red>2</FONT>页,当前在第<FONT 
      color=red>2</FONT>页&nbsp;&nbsp;<A 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/200606314011337318941857.htm">首页</A>&nbsp;&nbsp;<A 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/200606314011337318941857.htm">上一页</A></DIV></SPAN></FONT>
      <P></P></TD></TR></TBODY></TABLE>
<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/a1.js"></SCRIPT>

<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/a2.js"></SCRIPT>

<TABLE cellSpacing=0 cellPadding=3 width=760 border=0>
  <TBODY>
  <TR>
    <TD height=20><IMG 
      src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/class_nav.gif">&nbsp;<A 
      title=基于DSP的网络通信程序设计 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/200606314011337318941857.htm"><B>基于DSP的网络通信程序设计</B></A> <A 
      href="javascript:window.external.AddFavorite('http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/200606314011337318941857.htm',%20'基于DSP的网络通信程序设计%20-%20搜一百范文')" 
      target=_self>[将本页加入收藏夹]</A></TD></TR>
  <TR>
    <TD align=left><FONT color=#666666>【上一文章&nbsp;&nbsp;<A 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/2006063140113376159488941.htm">利用ISA总线实现对DSP芯片VC5402的软配置</A>】</FONT><BR></TD></TR>
  <TR>
    <TD align=left><FONT color=#666666>【下一文章&nbsp;&nbsp;<A 
      href="http://www.so100.cn/html/lunwen/ligong/dianzi/2006-3/14/2006063140113376220657490.htm">TM1300 
      DSP系统以太网接口的设计</A>】</FONT><BR></TD></TR></TBODY></TABLE>
<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/a3.js"></SCRIPT>

<SCRIPT src="基于DSP的网络通信程序设计-搜一百范文222222222网.files/bot.js"></SCRIPT>
</CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -