楼主: bluehacker-1165

[其他] DIY飞思卡尔MCF52259开发板

[复制链接]

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2009-12-2 11:54:19 | 显示全部楼层

RE:DIY飞思卡尔MCF52259开发板

请问只买空pcb板需要多少钱?

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2009-12-2 14:56:39 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

 空pcb  30元
 mcf52259我是从飞思卡尔代理那买的,国内很不好买,我现在正和fsl谈,期望能做他们芯片的小批量代理,如果谈成了,大家要买这些片子就可以找我了,哈哈

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2009-12-2 20:55:55 | 显示全部楼层

RE:DIY飞思卡尔MCF52259开发板

这个主意不错,希望快点搞定!

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2009-12-4 11:36:31 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

 这几天有点小忙,未能及时汇报情况,我现在已经把手头的4块板子都寄给最新申请的4位网友了。剩下的网友就要请多等几天,我现去做一批板子回来再提供给大家。
下周我把板子原理图放上来,以及测试的程序也陆续返上来。有几位申请散件的朋友,我把pcb图也发给你们,请注意查收。
 

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2009-12-4 16:46:24 | 显示全部楼层

RE:DIY飞思卡尔MCF52259开发板

希望楼主快点搞定

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
4
最后登录
1970-1-1
发表于 2009-12-9 20:44:16 | 显示全部楼层

RE:DIY飞思卡尔MCF52259开发板

报个名~要成品~不急~

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2009-12-9 23:17:05 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

 几天没来,主要是杂事多,而且最近几天,突然心情极度不好。不好意思
现在把板子原理图放上来,大家可以参考
接下来我们会陆续把测试代码放上来。
另外,这次做的板子还未做好,要板子的朋友还要等等。
NSCF52259R1-原理图.rar (699.81 KB, 下载次数: 71)

该用户从未签到

6

主题

45

帖子

0

新手上路

Rank: 1

积分
105
最后登录
1970-1-1
发表于 2009-12-10 19:32:15 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

NSCF52259R1测试程序:PS2

Test_MCF52259_PS2.rar

343.12 KB, 下载次数: 38, 下载积分: 威望 1

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2009-12-11 21:37:22 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

 <span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif, 宋体; font-size: 14px; color: rgb(51, 51, 51); line-height: 21px; "> 这是本次diy活动哦开发板demo例程之一:利用MCF52259片上i2c 控制器读写常用的at24c02 eeprom 
 
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6em; "> 
//filename: i2c_driver.h
//mcf52259 i2c驱动头文件
#ifndef _NICROSYSTEM_NSCF52259R1_I2C_DRIVER_H_
#define _NICROSYSTEM_NSCF52259R1_I2C_DRIVER_H_

void init_i2c();
void i2c_start();
unsigned char i2c_send_byte(unsigned char c);
unsigned char i2c_recv_byte(unsigned char ack);
void i2c_stop();
void i2c_restart();
#endif

 
 
//Filename: i2c_driver.c
//MCF52259 I2c驱动
#include "support_common.h" /* include peripheral declarations and more */
#include "i2c_driver.h"

void init_i2c()
{
 unsigned char temp;
 
 MCF_GPIO_PASPAR  |=MCF_GPIO_PASPAR_SCL0_SCL0 |MCF_GPIO_PASPAR_SDA0_SDA0 ;
 MCF_I2C_I2FDR(0)=MCF_I2C_I2FDR_IC(0x3A);//about 100khz
 MCF_I2C_I2ADR(0)=0xf0;
 MCF_I2C_I2CR(0)=0x80;//enable i2c
// MCF_I2C1_I2CR=0;
 if(MCF_I2C_I2SR(0)&MCF_I2C_I2SR_IBB)
 {
  MCF_I2C_I2CR(0)=0x0;
  MCF_I2C_I2CR(0)=MCF_I2C_I2CR_IEN |  /* enable module */
        MCF_I2C_I2CR_MSTA;
  temp=MCF_I2C_I2DR(0);
  MCF_I2C_I2SR(0)=0;
  MCF_I2C_I2CR(0)=0x0;
  MCF_I2C_I2CR(0)=0x80;//enable i2c
 }
}

void i2c_start()
{
 while(MCF_I2C_I2SR(0)&MCF_I2C_I2SR_IBB);
 MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_MTX ;
 MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_MSTA ; 
}


unsigned char i2c_send_byte(unsigned char c)
{
// MCF_I2C0_I2CR|=MCF_I2C_I2CR_MTX ;
// if(MCF_I2C0_I2SR|MCF_I2C_I2SR_IAL)
// {
  //arbitration lost
//  MCF_I2C0_I2SR&=~MCF_I2C_I2SR_IAL ;
// }
// i2c_start();
// MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_MTX ;
// MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_MSTA ;
 MCF_I2C_I2DR(0)=c;
 while((MCF_I2C_I2SR(0)&MCF_I2C_I2SR_IIF)==0)
 {
  
 }

 MCF_I2C_I2SR(0)&=~MCF_I2C_I2SR_IIF;
 if(MCF_I2C_I2SR(0)&MCF_I2C_I2SR_RXAK) 
  return 1;//failed
 else
     return 0;//success
}


unsigned char i2c_recv_byte(unsigned char ack)
{
 unsigned char temp;
 if(ack>0)
 {
  MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_TXAK; 
 }
 else
 {
  MCF_I2C_I2CR(0)&=~MCF_I2C_I2CR_TXAK;  
 }
 
 MCF_I2C_I2CR(0)&=~MCF_I2C_I2CR_MTX ;
 temp=MCF_I2C_I2DR(0); 
 while((MCF_I2C_I2SR(0)&MCF_I2C_I2SR_IIF)==0)
 {
  
 }
 MCF_I2C_I2SR(0)&=~MCF_I2C_I2SR_IIF;
 temp= MCF_I2C_I2DR(0);
 while((MCF_I2C_I2SR(0)&MCF_I2C_I2SR_IIF)==0)
 {
  
 }
 MCF_I2C_I2SR(0)&=~MCF_I2C_I2SR_IIF;
 return temp;
}

void i2c_stop()
{
 MCF_I2C_I2CR(0)&=~MCF_I2C_I2CR_MSTA ; 
}

void i2c_restart()
{
 MCF_I2C_I2CR(0)|=MCF_I2C_I2CR_RSTA;
}

 
 
//Filename: uart.h
//串口驱动头文件
#ifndef _NICROSYSTEM_NSMCF52259R1_UART_H_
#define _NICROSYSTEM_NSMCF52259R1_UART_H_
#include "support_common.h"

void uart_putstr(uint8 channel, char *str);
void uart_putchar (uint8 channel, char ch);
char uart_getchar (uint8 channel);
void set_gpio_uart(uint8 channel);
uint8 uart_init(uint8 channel,uint32 sysClockKhz,uint32 baudRate);

#endif
 
//filename:uart.c
//串口驱动
#include "uart.h"

uint8 uart_init(uint8 channel,uint32 sysClockKhz,uint32 baudRate)
{
 uint16 ubgs;
 
 if(channel>2)
 {
  return 1;//error
 }
 set_gpio_uart(channel);
 /*
  * Reset Transmitter
  */
 MCF_UART_UCR(channel) = MCF_UART_UCR_RESET_TX;

 /*
  * Reset Receiver
  */
 MCF_UART_UCR(channel) = MCF_UART_UCR_RESET_RX;

 /*
  * Reset Mode Register
  */
 MCF_UART_UCR(channel) = MCF_UART_UCR_RESET_MR;

 /*
  * No parity, 8-bits per character
  */
 MCF_UART_UMR(channel) = (0
  | MCF_UART_UMR_PM_NONE
  | MCF_UART_UMR_BC_8 );

 /*
  * No echo or loopback, 1 stop bit
  */
 MCF_UART_UMR(channel) = (0
  | MCF_UART_UMR_CM_NORMAL
  | MCF_UART_UMR_SB_STOP_BITS_1);

 /*
  * Set Rx and Tx baud by SYSTEM CLOCK
  */
 MCF_UART_UCSR(channel) = (0
  | MCF_UART_UCSR_RCS_SYS_CLK
  | MCF_UART_UCSR_TCS_SYS_CLK);

 /*
  * Mask all UART interrupts
  */
 MCF_UART_UIMR(channel) = 0;
 
 /*
  * Calculate baud settings
  */
 ubgs = (uint16)((sysClockKhz * 1000)/(baudRate * 32));

 MCF_UART_UBG1(channel) = (uint8)((ubgs & 0xFF00) >> 8);
 MCF_UART_UBG2(channel) = (uint8)(ubgs & 0x00FF);
 /*
  * Enable receiver and transmitter
  */
 MCF_UART_UCR(channel) = (0
  | MCF_UART_UCR_TX_ENABLED
  | MCF_UART_UCR_RX_ENABLED);
 
 return 0;//success
}


<font class="Apple-style-span" color="#333333" face="Arial, Helvetica, sans-serif" style="line-height: 1.6em; "><span class="Apple-style-span" style="line-height: 24px; font-size: small; ">void set_gpio_uart(uint8 channel)
{
 switch(channel)
 {
  case 0:
  MCF_GPIO_PUAPAR|=MCF_GPIO_PUAPAR_UTXD0_UTXD0 |
  MCF_GPIO_PUAPAR_URXD0_URXD0 |MCF_GPIO_PUAPAR_URTS0_URTS0 |
  MCF_GPIO_PUAPAR_UCTS0_UCTS0 ;
  break;

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2009-12-11 21:41:43 | 显示全部楼层

回复:DIY飞思卡尔MCF52259开发板

 把完整的工程文件放上来
i2cdemo1.rar (264.54 KB, 下载次数: 33)
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 05:32 , Processed in 0.112549 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表