打印

发现一个不错的8位机(绝非广告)

[复制链接]
楼主: ayb_ice
手机看帖
扫描二维码
随时随地手机跟帖
21
ayb_ice|  楼主 | 2011-3-18 19:52 | 只看该作者 回帖奖励 |倒序浏览
原来很多人都知道这个MCU,我也经常关注台湾的MCU,却一直没有发现它
有点汗言

使用特权

评论回复
22
XIANSir| | 2011-3-18 20:15 | 只看该作者
这个东西很强大,八个核!!

使用特权

评论回复
23
donkey89| | 2011-3-18 22:26 | 只看该作者
感觉单片机大部分时候都在空转,外设不强大就不是单片机了.

使用特权

评论回复
24
mxh0506| | 2011-3-18 22:54 | 只看该作者
8位机还搞成多核的?

使用特权

评论回复
25
123jj| | 2011-3-18 22:59 | 只看该作者
本帖最后由 123jj 于 2011-3-19 03:41 编辑
感觉像fpga.........
sinanjj 发表于 2011-3-18 19:46


回LS,此芯片本身采用fpga技术,而不是感觉像fpga.........

使用特权

评论回复
26
linqing171| | 2011-3-19 04:50 | 只看该作者
不是FPGA技术,刚读了一遍, 是FPPA的多核.
虽然是RISC,除了跳转是PIC系列的,其他指令都是51系列的.

外设功能太弱,中断功能也没有了.

使用特权

评论回复
27
linqing171| | 2011-3-19 04:51 | 只看该作者
管脚上看,和51差距甚远,没有总线功能. 但是还是感觉里面N多指令是仿51的,PIC系列所没有的.

使用特权

评论回复
28
ayb_ice|  楼主 | 2011-3-19 08:19 | 只看该作者
不是FPGA技术,刚读了一遍, 是FPPA的多核.
虽然是RISC,除了跳转是PIC系列的,其他指令都是51系列的.

外设功能太弱,中断功能也没有了.
linqing171 发表于 2011-3-19 04:50

谁说没有中断功能

使用特权

评论回复
29
老鱼探戈| | 2011-3-19 13:11 | 只看该作者
公益广告,看看先

使用特权

评论回复
30
123jj| | 2011-3-19 16:57 | 只看该作者
不是FPGA技术,刚读了一遍, 是FPPA的多核.
虽然是RISC,除了跳转是PIC系列的,其他指令都是51系列的.

外设功能太弱,中断功能也没有了.
linqing171 发表于 2011-3-19 04:50



中断功能有!

外设功能太弱是事实,但这种小容量的多核MCU,  主张用软件模拟外设,并发执行多道程序,既灵活又实用,不占用主MCU运行时间~~~

使用特权

评论回复
31
123jj| | 2011-3-19 20:37 | 只看该作者
还没有玩过多核编程,123jj给我们讲讲
ayb_ice 发表于 2011-3-18 19:01



FPPA TM 的多核并发程序设计其实很简单,下面是一个关于FPPA TM 的程序设计框架
FPP0~FPP7各自单独运行,而且变量共享,你只要3分钟就会学会~~~


/***********************************************/
//不需要任何的RAM资源
上电复位时只有fpp0_boot启动
    .romadr 0x0000
     goto   fpp0_boot
     goto   fpp1_boot
     goto   fpp2_boot
     goto   fpp3_boot
     goto   fpp4_boot
     goto   fpp5_boot
     goto   fpp6_boot
     goto   fpp7_boot
    .romadr 0x10
     goto   interrupt
fpp0_boot:
//一下是必要的操作
     mov a,0xxx ;
     mov eoscr,a //选择系统时钟源寄存器操作
     mov a, 0xxx ;
     mov clkmd   //设置系统时钟分频及其他
     mov a, STACK_FPP0
     mov sp,a    //设置MCU0的堆栈指针
//-------------------------------------
     mov a ,0xxx
     mov fppen,a  //设置需要使能的运行MCU
     fpp0其他初始化,如端口和特殊功能寄存器初始化
fpp0_loop:   
    用户程序
     ........
     goto fpp0_loop
/***********************************************/
fpp1_boot:
     mov a, 0xxx
     mov sp, a //设置fpp1的堆栈指针
     fpp1的其他初始化
fpp1_loop:
     用户程序
     ........
     goto fpp1_loop
/************************************************/
/************************************************/
fpp2_boot:
     mov a, 0xxx
     mov sp, a //设置fpp2的堆栈指针
     fpp1的其他初始化
fpp2_loop:
     用户程序
     ........
     goto fpp2_loop
/************************************************/
/************************************************/
fpp3_boot:
     mov a, 0xxx
     mov sp, a //设置fpp3的堆栈指针
     fpp1的其他初始化
fpp3_loop:
     用户程序
     ........
     goto fpp3_loop
/************************************************/
/***********************************************/
fpp4_boot:
     mov a, 0xxx
     mov sp, a //设置fpp4的堆栈指针
     fpp1的其他初始化
fpp4_loop:
     用户程序
     ........
     goto fpp4_loop
/************************************************/
/***********************************************/
fpp5_boot:
     mov a, 0xxx
     mov sp, a //设置fpp5的堆栈指针
     fpp1的其他初始化
fpp5_loop:
     用户程序
     ........
     goto fpp5_loop
/************************************************/
/***********************************************/
fpp6_boot:
     mov a, 0xxx
     mov sp, a //设置fpp6的堆栈指针
     fpp1的其他初始化
fpp6_loop:
     用户程序
     ........
     goto fpp6_loop
/************************************************/
/***********************************************/
fpp7_boot:
     mov a, 0xxx
     mov sp, a //设置fpp7的堆栈指针
     fpp1的其他初始化
fpp7_loop:
     用户程序
     ........
     goto fpp7_loop
/************************************************/

使用特权

评论回复
32
123jj| | 2011-3-19 20:57 | 只看该作者
更正一下31楼:

对最简单的多道程序模拟中断程序,可用单指令 wait0 代替 t0sn + goto 组合指令,对PA.5下降沿或低电平执行模拟中断,这样,响应中断速度最快,只需一个机器周期(由于是单周期MCU, 即只需一个时钟周期),远远高于一般MCU的硬件中断响应时间。
如想对PA.5上升沿或高电平执行模拟中断,则需将等待跳转指令 wait0 改为 wait1 即可。

label: wait0 pa.5   ;如果PA.5是0, 执行模拟中断程序,否则,循环等待。
      ..........          ;模拟中断程序。


用多道程序并发执行软件模拟中断程序,其优点是中断响应快且应用灵活,只需1个机器周期(由于是单周期MCU, 即只需一个时钟周期),如用第一核执行主程序,剩余的7核全部实时模拟外部中断,这7路外部中断源,每一路的中断响应均为1个机器周期(即只需一个时钟周期),这是普通MCU硬件外中断无法做到的!

使用特权

评论回复
33
123jj| | 2011-3-19 20:58 | 只看该作者
更正一下31楼:

对最简单的多道程序模拟中断程序,可用单指令 wait0 代替 t0sn + goto 组合指令,对PA.5下降沿或低电平执行模拟中断,这样,响应中断速度最快,只需一个机器周期(由于是单周期MCU, 即只需一个时钟周期),远远高于一般MCU的硬件中断响应时间。
如想对PA.5上升沿或高电平执行模拟中断,则需将等待跳转指令 wait0 改为 wait1 即可。

label: wait0 pa.5   ;如果PA.5是0, 执行模拟中断程序,否则,循环等待。
      ..........          ;模拟中断程序。


用多道程序并发执行软件模拟中断程序,其优点是中断响应快且应用灵活,只需1个机器周期(由于是单周期MCU, 即只需一个时钟周期),如用第一核执行主程序,剩余的7核全部实时模拟外部中断,这7路外部中断源,每一路的中断响应均为1个机器周期(即只需一个时钟周期),这是普通MCU硬件外中断无法做到的!

使用特权

评论回复
34
古道热肠| | 2011-3-19 22:14 | 只看该作者
呵呵,这种用法有点打破常规思维设计的习惯,过去遇到软件无法并发执行的情况,通常是用外扩CPLD或FPGA来协助CPU完成这种操作,或者外扩MCU,搞多MCU联合作战.这8核设计思路要能做成51核且有较大的Flash和RAM,也蛮有创新的.

使用特权

评论回复
评分
参与人数 2威望 +2 收起 理由
123jj + 1
pa2792 + 1
35
123jj| | 2011-3-20 05:18 | 只看该作者
呵呵,这种用法有点打破常规思维设计的习惯,过去遇到软件无法并发执行的情况,通常是用外扩CPLD或FPGA来协助CPU完成这种操作,或者外扩MCU,搞多MCU联合作战.这8核设计思路要能做成51核且有较大的Flash和RAM,也蛮有创新 ...
古道热肠 发表于 2011-3-19 22:14



热肠正解!

这棵8核八位MCU, 提供了解决问题的一个新思维新方法,比如,有一个系统,要用到7路高速串口,采集数据,要找到一片同时拥有7路高速串口的廉价MCU很难,但用这块售价仅一元*币左右的8核八位MCU就能用软件模拟轻松做到!并且每一路串口的通讯速率做到几百K不失步!!!

使用特权

评论回复
36
apple| | 2011-3-20 09:54 | 只看该作者
台湾的IC可以做到0。5元了

使用特权

评论回复
37
apple| | 2011-3-20 09:55 | 只看该作者
台湾的IC可以做到0。5元了

使用特权

评论回复
38
ayb_ice|  楼主 | 2011-3-25 10:55 | 只看该作者
感觉多核比中断还是要有些优势,比如中断接收数据其实也做不到太快,毕竟要压栈,出栈开销,中断速度越快,效率直线下降,但多核查询都可以做到很快,而且编程类似于OS的任务管理,但其实更简单
资源做大点,应该还是很有市场的

使用特权

评论回复
39
897293874| | 2011-3-25 15:34 | 只看该作者
支持一下

使用特权

评论回复
40
Torda| | 2011-3-25 17:06 | 只看该作者
看到“绝非广告”才进来看的,看到才知道“绝对是广告”

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则