论坛风格切换切换到宽版
  • 44077阅读
  • 85回复

不用 50 RMB 也能作的 16F88 One Chip TNC 有關資料 [复制链接]

上一主题 下一主题
离线BG6AGB
发帖
915
只看该作者 60楼 发表于: 2005-12-27
'
注意:16f88使用20m主频,每个指令只是一个周期,用51系列是很难达到这样的运算速度的,avr不很熟悉,不好判断。
用单片机来做afsk的调制和解调对timing要求高,不是很简单的可以通过指令翻译做到的。
'

已经考虑这个了,所以先找指令周期能满足要求的价格便宜的芯片是现在的首要问题。
离线zsh
发帖
1371
只看该作者 61楼 发表于: 2005-12-27
'
这个好说,51挂一个24c01就可以了,呼号和相关的设置存24c01里面。
问题就在于51大部分是12周期指令,正在找指令周期短的片子。
'
用宏晶的stc89el516ad不行吗?她好像看可以工作在20m以上?


6agb你的样片应该没什么问题了 等上海某家公司给你电话吧! 我等这个电话等了差不多一个月 嘿嘿
离线BG6AGB
发帖
915
只看该作者 62楼 发表于: 2005-12-27
那看来是没什么希望了,因为我填的是我宿舍的电话,一个月后是。。。。过年咯~~~

stc89le516ad按照其文档说可以工作到90m,但谁敢用那么高的频率啊?
而且这个芯片是12周期的,实际工作起来大概相当于其时钟频率的15到20分之一,所以即使工作在90m,也大概只相当于pic16f88工作在几兆。

必须找一个起码也是单周期指令的芯片,即使部分指令需要两个到三个周期也可以。
离线VR2VJJ
发帖
578
只看该作者 63楼 发表于: 2005-12-27
'
汇编我来翻译!征求搞avr的高手一起来移植!想一切使用现在国内流行的单片机+外置adc来实现。
过几天上翻译的程序!现在单片机接收gps信号处理的语句已经写好的啦!89c51实现的,ms51关键不能实现的就是呼号的在线实时修改!
'

朋友,
你試過用單片作 ad/da 的嗎? 其實如果你真的想要用 avr 作的話, 請用 mega8 系列, 否則到頭來也是白費心力。

另外舊文中有朋友提及過用 avr 的案子, 你可試試參考一下的。
http://www.knology.net/~gdion/whereavr.html
离线BG8WJ
发帖
166
只看该作者 64楼 发表于: 2005-12-28
但是我觉得这个1秒钟一个gps位置信号应该来说普通的单片机完全可以胜任的啊,关键是算法要好!这个是51处理gps信号模块的c算法!
初始化串口就不写啦.
serial()
{   ri=0;                     //软件中断清出,
    if(sbuf==0x24)       //0x24对应的是$,串口数据gprmc的起始标记,
  { recoder=1;
        i=0;
        igps=0;
        numbercoma=0;       //设置标记字符,
  }
if (record==1)
{
  if(sbuf==0x2c)(numbercoma++;)   //0x2c是 “,”
    if (numbercoma==3)           //第三个逗号后面在gprmc语句中是分割ne数据的.
{
      stringgps[igps]=sbuf;       //构造一个数组放置位置数据,
  igps++;
}
if(sbuf=="*")         // “*”是gps语句的结束标致。
{stringgps[igps]='\0'
  j=0;
len=springgps,"%s",stringgps+1); //语句转换成需要的数据格式.
  ndig=sprintf(buffer,"k1:%d",k1);
if(len2!=0)
{
  unit numbergps=atoi(srtringgps);
}
numbergps=0;
numbercoma=0;
record=0;
igps=0;
}
}
}
离线BG8WJ
发帖
166
只看该作者 65楼 发表于: 2005-12-28
刚才又有个新的想法不知道可行性有多少? 使用2个常用的单片机使用共享ram的方式一块负责对gsp信号处理实现x.25的打包。另外一块专门负责产生afsk的da,ad算法。
离线BD4VNF
发帖
1208
只看该作者 66楼 发表于: 2005-12-29
avr单片机的a\d转换速度不够高,看看手册就明白了
离线BG6AGB
发帖
915
只看该作者 67楼 发表于: 2005-12-29
'
但是我觉得这个1秒钟一个gps位置信号应该来说普通的单片机完全可以胜任的啊,关键是算法要好!这个是51处理gps信号模块的c算法!
初始化串口就不写啦.
serial()
{   ri=0;                     //软件中断清出,
    if(sbuf==0x24)       //0x24对应的是$,串口数据gprmc的起始标记,
  { recoder=1;
        i=0;
        igps=0;
        numbercoma=0;       //设置标记字符,
  }
if (record==1)
{
  if(sbuf==0x2c)(numbercoma++;)   //0x2c是 “,”
    if (numbercoma==3)           //第三个逗号后面在gprmc语句中是分割ne数据的.
{
      stringgps[igps]=sbuf;       //构造一个数组放置位置数据,
  igps++;
}
if(sbuf=="*")         // “*”是gps语句的结束标致。
{stringgps[igps]='\0'
  j=0;
len=springgps,"%s",stringgps+1); //语句转换成需要的数据格式.
  ndig=sprintf(buffer,"k1:%d",k1);
if(len2!=0)
{
  unit numbergps=atoi(srtringgps);
}
numbergps=0;
numbercoma=0;
record=0;
igps=0;
}
}
}
'

现在关键不是gps数据的提取,而是编解码那一块。
离线BG8WJ
发帖
166
只看该作者 68楼 发表于: 2006-01-01
我想一步一步来和大家一起来搞明白鬼子的算法!过几天我把crc的算法整理一下上传上来!希望能有帮助!
  我想现在我们先不要在讨论到底可行还是不可行,先把鬼子的算法一起整理出来!在看看到底使用那个平台更合适我们的国情怎么样!
  我倒是觉得单纯的要是一味的说速度的话,其实对于搞信号处理的来说pic,avr单片机对于dsp来说的话是不如流的。
  所以先抛开硬件这些不说谈,先把这个整个系统的传输协议(硬件层,软件层)以及鬼子的现成算法搞明白,这个才是最关键的!
离线robotcat
发帖
231
只看该作者 69楼 发表于: 2006-01-04
'
所以先抛开硬件这些不说谈,先把这个整个系统的传输协议(硬件层,软件层)以及鬼子的现成算法搞明白,这个才是最关键的!
'
支持!赞成!
离线BD4VNF
发帖
1208
只看该作者 70楼 发表于: 2006-01-05
算法 不复杂.仔细看过源代码一定明白.用能力的就动手吧
离线BG8WJ
发帖
166
只看该作者 71楼 发表于: 2006-01-10
这几天分析完d/a部分
对比电路图可以发现 使用876的tnc 4位d/a部分使用的是rb7 rb6 rb5 rb4,而使用88的tnc使用的是rb7,rb6,rb3,rb1。模拟电压的输出计算完全一样.遵照eo = (v7/rb7 + v6/rb6 + v5/rb3 + v4/rb1)/(1/rl + 1/rb7 + 1/rb6 + 1/rb3 +1/rb1)
88tnc的计算公式。至于两个程序中的数值不一样的话是脚bit位的改变造成的。
离线BG6AGB
发帖
915
只看该作者 72楼 发表于: 2006-03-07
我的16f88估计快到了~~~~
发帖留个纪念,呵呵
离线radiolee
发帖
6050
只看该作者 73楼 发表于: 2006-04-08
'
我的16f88估计快到了~~~~
发帖留个纪念,呵呵
'

你的16f88到底到了没啊?留一片给我呀
离线HiXGod
发帖
1608
只看该作者 74楼 发表于: 2007-03-29
现在这东西还有人搞吗?正在申请16f88,也不知能不能搞到……
离线VR2VJJ
发帖
578
只看该作者 75楼 发表于: 2007-04-15
'
现在这东西还有人搞吗?正在申请16f88,也不知能不能搞到……
'

成品也有了, 你攪不成, 就看看貼好了.
离线BD2RWR
发帖
1972
只看该作者 76楼 发表于: 2007-04-28
TNC有谁用了没有?
2005年讨论的tnc试验的情况如何?

手机:1398480725
e_mail:v58@tom.com
离线HiXGod
发帖
1608
只看该作者 77楼 发表于: 2007-04-29
'
成品也有了, 你攪不成, 就看看貼好了. [表情]
'
搞到了3块16f88
离线红猪
发帖
4980
只看该作者 78楼 发表于: 2008-02-16
有人搞出来吗?
离线salajon
发帖
3071
只看该作者 79楼 发表于: 2008-12-31
记号记号.