深圳华夏盛数字电台的典型应用 点击:1592 | 回复:2



刘继兵

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:20帖 | 4回
  • 年度积分:0
  • 历史总积分:576
  • 注册:2002年8月07日
发表于:2005-08-05 13:17:00
楼主
1、SCADA系列数字电台简介 A、数字电台 SCADA点对多点系列电台是行业顶级的数字电台。它的电路采用了DSP数字信号处理芯片,实现信道编码,前向纠错等功能。它采用CPFSK数字调制解调、相干解调、Viterbi译码、均衡软判决等技术,软件处理增益达7dB。生产工艺全部表面贴片焊接。产品的稳定性、可靠性、抗干扰性、传输速率和传输距离远远超过模拟数传电台。电台的通讯范围在50公里以上。可以全双工、半双工或单工方式工作,收发同频或异频,EIA-232数据接口异步透明传输。电台支持话音通讯,通过复用器可以实现数话同传。 电台系统网管软件InSite 6,实现空中远程设置系统内其它电台参数如串口格式、发射功率、工作频段等,也可以实现空中远程监测电台状态如工作电压、工作温度、接收信号强度、信噪比、误码率、状态告警等。 SCADA电台具有多机型,以满足不同系统要求,如中继台、全双工电台、双机热备电台等。 B、性能特点 ◆ 技术指标高:DSP电台,前向纠错信道编码,CPFSK数字调制解调,Viterbi译码,均衡软判决,尾噪声抑制 ◆ 运行可靠:发射启动快,收发转换快,可以连续发射,功耗低,工作温度范围广,能在各种极其恶劣环境下工作 ◆ 设置灵活:所有参数包括频率、功率、接口格式等通过软件设置 ◆ 有网管:远程空中设置电台参数或监视电台状态及告警 C、技术指标 一般性能 工作频段:130-174/220-240/330-512MHz运行模式:半双工,单工 数据接口:透明RS-232,DB25孔 空中速率:9600/19200bps 数据时延:< 7ms 发射单元 调制方式:CPFSK 发射功率:1-5瓦/1-25瓦(连续) 频率稳定性:+/-1.5ppm 发射启动:数据直接启动 启动时间:< 3ms 邻道辐射:-65dB 超时定时器:1-255秒 接收单元 类型:双超外差式 误码率/灵敏度: -110dBm@10-6 BER 频率稳定性:+/-1.5ppm 邻道选择性:60dB 交调抑制:-70dB 电源要求 供电电源:13.8VDC(10.5-16VDC范围) 发射电流:< 2A,发射功率5瓦时 接收电流:< 125mA 休眠状态:15mA 外形尺寸 机箱:铸铝 尺寸:5.08×14.29×18.4cm 重量:1公斤 使用环境 温度范围:-40℃ to +70℃ 湿度范围:95%@40℃非冷凝 选配 内置功放模块(最大25W) 对讲话咪 多信道板(16CH) 2、应用之一:点对多点/远距离/高速/高可靠无线数据采集控制系统 用无线电台方式实现远程数据采集、监视与控制,相对于架设专用电缆(或光缆)、租用电信专线等,具有造价低廉、施工快捷、运行可靠、维护简单等优点。 用深圳华夏盛公司SCADA系列电台组建油田/天然气、水处理、电力、煤气、铁路、地震/气象/环保、GPS、金融、公安/交通/安防、化工、工业控制自动化等数据采集与控制系统结构如下图:
典型案例:新疆油田、成都自来水、新泰电力、丹东煤气、上海铁路、国家地震局、江西气象所、哈尔滨林业所、杭州路灯、江门环保局、鞍钢、宝钢焦化、内蒙古煤炭、鲁能化肥、中南空管局、大连港等。 3、应用之二:点对点及点对多点二话二数链路 在25KHz常规单信道中,用全双工数字电台及复用器实现二路话音及二路数据传输结构如下图:
主站用多套点对点设备叠加,配合路器、分路器及全向天线组成天馈线共用系统,根据不同位置分布架设多个远端外围站,即构成点对多点无线通信系统。
典型案例:山东电力、江苏电力、福建电力等。 4、应用之三:大范围/大容量/专用GPS无线数据网络 用户容量是专用无线数据网络的重要指标。无线数据网络的用户规模是由无线电台的数据速率、收发转换时间和传输的信息量决定的。为满足大容量的要求,专用无线数据网络的电台必须提供高的数据速率,如19200bps以上,并能够迅速的收发转换,时间在10ms内。 目前的专用无线数据网络设备基本上都是采用常规调频电台加MODEM的方式实现的。电台工作于230MHz、800MHz数传业务频段和350MHz、800MHz集群业务频段。在25KHz信道,数据速率基本上是1200bps、2400bps,一些采用GMSK等MODEM芯片把输出的低频信号直接加到VCO输入端能实现9600bps的无线数据传输,但该方式的射频指标,难于满足信息产业部规定要求,且其10-6误码灵敏度很低,通信距离非常近,实际当中无法使用。另外,常规调频电台的收发转换时间在50-100ms左右,不能实现高速收发转换。 深圳华夏盛公司采用前向纠错编码、软件无线电、数字调制相干解调、Viterbi软判决和表面贴片一体化设计等技术,提供高性能、高稳定、高可靠的DSP无线电台。电台提供标准RS-232接口可直接与计算机、GPS接收机控制板连接。25KHz信道间隔空中数据传输速率为19200bps,10-6误码灵敏度-111dBm,收发转换时间在7ms以内,电台其它指标亦符合信息产业部的要求。 假设每个用户终端需要传输50字节的信息,采用华夏盛电台只需要分配: 50×10÷19200+7=33ms的时隙给每个电台。 同样情况,采用调频电台加MODEM,一般为2400bps方式则需要分配: 50×10÷2400+50=258ms的时隙。二种情况用户容量相差约8倍。如果要求GPS系统每10秒钟更新一次信息,采用调频电台加MODEM方式容纳不了40个用户,而采用华夏盛电台可容纳300个用户。 另外,我们在同样的环境下,如上海市中心,目前国内高楼最密集城区做过实验。用国内某公司提供的调频加9600bpsMODEM方式的数传电台只通不到2公里(BER小于10-6),而华夏盛电台可以覆盖约15公里半径。 深圳华夏盛公司是在中国最早从事无线数据传输电台的开发生产厂商之一,产品广泛用于石油、电力、银行、水处理等领域的遥测、遥信、遥控,占有中国65%的同类产品市场。深圳华夏盛公司有工作于所有频段单工车台、双工基地台、热备基地台和2.4GHz跳频扩频电台,电台有远程诊断和网管功能,可以很方便地根据不同地形、区域组建各种无线数据网络。
典型案例:上海公安局、北京交警大队、山东公安局等 5、应用之四:低速远距离无线计算机局域网 两个或多个局域网之间,用无线网络电台实现点对点/点对多点网络互连,通讯距离:50公里以上,传输速率9.6/19.2 Kbps。系统结构拓朴图如下:
典型案例:我军某部地面指挥计算机局域网、远程10KV线路高低压电力监控与管理系统。



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-12-05 11:56:00
1楼
我的串口通信程序

如下的程序利用VC++的MSCOMM控件来开发的,通信协议为$(一个字节)C(一个字节)PR(一个字节) SA(一个字节)DA(一个字节)ML(一个字节) MSG(ML个字节)CRC(两个字节)ACK(一个字节) 0x13(一个字节)0x10(一个字节),这个桢头为$和C,桢尾是0x13和0x10.MSG的域中有ML(十进制)个字节,否则错误。程序编译没问题,但是向数据库中添加数据时,ID不变化,请各位VC的爱好者看看我程序有没有逻辑错误,小弟不胜感谢了!

unsigned char    FuYongChao[256];
static long lengthmistake=0;
static long mcrcmistake=0,maddressmistake=0,mreceivemistake=0,mterminalmistake=0, mothermistake=0, mnoreturn=0;
static long mcrcmistake1 = 0, mdatamistake = 0;
static long id;
void CTestView::OnComm() 
{
        // TODO: Add your control notification handler code here
    // TODO: Add your command handler code here
        VARIANT        variant_inp;
        COleSafeArray  safearray_inp;
    LONG      len,k;
        BYTE      rxdata[2048];
        CString   strtemp;
    static long flag;
        static long num;
        if(m_ctrlcom.GetCommEvent()==2)
        {  
                
                variant_inp=m_ctrlcom.GetInput();
                safearray_inp=variant_inp;
                len=safearray_inp.GetOneDimSize();
                for(k=0;k<len;k++)
                   safearray_inp.GetElement(&k,rxdata+k);
                
                for(k=0;k<len;k++)
                {
            
                        BYTE  bt=*(char*)(rxdata+k);
                        strtemp.Format("%x",bt);
                        m_strreceived+=' '+strtemp;
            UpdateData(FALSE);
            
            if(m_ctrlReceiveData.GetLineCount()>=50)
                        {
               m_strreceived.Empty();
                           UpdateData(FALSE);

                        }
                        
             if (m_ndata==250){
                                m_ndata=0;
                        
                        }
          
            //m_test+=strtemp;
           
            
             
                 switch(m_ndata) {
                
                            case 1:
                                        
                                        if (bt == '$'){
                        
                                                FuYongChao[1]=bt;
                        m_ndata=1;
                        
                        
                                        }
                    
                                        break;
                                case 2:
                                        
                                        if (bt == 'C'){
                       
                                                FuYongChao[2]=bt;
                        m_ndata=2;
                        
                                        }
                                        else if (bt == '$'){
                        FuYongChao[1]=bt;
                        m_ndata=1;
                                        }
                                        else{
                        m_ndata=0;
                                        }
                                        break;
                                default:
                    
                                        m_ndata++;
                    FuYongChao[m_ndata]=bt;
                    

                    if(m_ndata<5)
                                        {
                                          //m_nLen=0;        
                                        }
                    if(m_ndata==6)
                                        {
                                      id++;          
                                          m_nLen=FuYongChao[6]+11;
                    }
                   
                                     
                    if(FuYongChao[m_nLen]==16)
                                        {
                                           
                                           switch(FuYongChao[m_nLen-2])
                                                 {
                                                    case 0x00:

                                 maddressmistake++;
                                                         break;
                                               case 0x11:
                         
                                 mreceivemistake++;
                                                             break;
                                                case 0x12:
                         
                                mterminalmistake++;
                                                        break;
                                                case 0x15:
                        
                                mcrcmistake++;
                                                        break;
                                                case 0x16:
                         
                                mnoreturn++;
                                                        break;
                                                case 0x06:
                                                        break;
                                               default:
                                mothermistake++;
                                                    break;
                                                 }    
                    }
                                    else
                                        {
                     lengthmistake++;
                    }
                    
                        if(!m_pSet->IsEOF()) m_pSet->MoveLast();
                                        m_pSet->AddNew();
                                        m_pSet->Update();
                                        //UpdateData(TRUE);
                                        
                    m_pSet->m_ID=id;
                    m_pSet->m_lengthmistake=lengthmistake;
                        m_pSet->m_maddressmistake=maddressmistake;
                        m_pSet->m_mcrcmistake=mcrcmistake;
                        m_pSet->m_mdatamistake=mdatamistake;
                        m_pSet->m_mnoreturn=mnoreturn;
                        m_pSet->m_mothermistake=mothermistake;
                        m_pSet->m_mreceivemistake=mreceivemistake;
                        m_pSet->m_mterminalmistake=mterminalmistake;
                                        
                    if(m_pSet->CanUpdate())
                                        {
                                                if(!m_pSet->Update()) AfxMessageBox(_T("           "));
                                        }
                                        if(!m_pSet->IsEOF()) {
                                        {
                                                        m_pSet->MoveLast();
                                                        m_dbGrid.ClearFields();

                                        }
                    CTestDoc  *pDoc=GetDocument();
                                        pDoc->UpdateAllViews(NULL);
                                        }        
                    break;
                   
                  
                         
                               
                                         
                    //CTestDoc  *pDoc=GetDocument();
                                           //pDoc->UpdateAllViews(NULL);
                                         
                                           
                                        }
                                        
                                    
                         }
                

钟文才

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 42回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2004年10月09日
发表于:2005-12-05 14:00:00
2楼
嗯,不错的产品。

电台在短距离传输数据有优势。

在长距离时可以使用gprs/cdma产品


[color=#CCCCCC]=============================================[/Color]
[color=#009900]GPRS、CDMA[/color]工业级应用终端。大量的现场实施案例供您参考。
一步一步教您使用GPRS、CDMA工业应用,欢迎朋友们交流联系。
[B][color=#BCBCBC]联系方式:[/Color][/B]
MSN:[url=mailto:lengcool@hotmail.com]lengcool@hotmail.com[/url]
在线直接联系:[B][Url=http://wpa.qq.com/msgrd?V=1&Uin=190988779&Site=点击马上在线交流&Menu=yes][color=#009900]QQ:190988779[/Color][/url][/B][color=#CC0000] <=点击直接用QQ交流[/color]
[color=#CCCCCC]=============================================[/Color]

热门招聘
相关主题

官方公众号

智造工程师