several problems about ZigBee

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

several problems about ZigBee

5,249 次查看
Beijing2008
Contributor I
Dear all:
 
    I'm studying ZigBee,I was confused by the following problems:
 
   (1)How to understand the Zigbee IEEE address of 64bit? Is it a physics address that similar to the MAC address of netcard,was stored in ROM?
 
(2)If I use the SMAC codebase,how to get the IEEE address of 64bit via C language code?
 
 
Look forward to your advice!
 
Best regards,
Charly
 
标签 (1)
0 项奖励
回复
13 回复数

2,736 次查看
addiyi
NXP Employee
NXP Employee
Hello Charly,

1) ZigBee IEEE address or long address or MAC address is stored into flash memory. MAC address is loaded each time a S19 file is flashed on the microcontroller. Freescale development boards have MAC address printed on a tag. Tag is glued on board bottom side. When you create a new project on Beekit ensure to use right MAC address. This address is similar with MAC address of network adapters.

2) As SMAC don't provide addressing features and provide only point-to-point communication, MAC address is not use in project base on SMAC.

3) I recommend you to read chapters 4.5 to 4.8 that talk about FLASH memory usage and procedures inside the HCS08 reference manual (http://www.freescale.com/files/microcontrollers/doc/ref_manual/HCS08RMV1.pdf)

Also, I recommend you to download and read ZigBee specification from www.zigbee.org.

Regards,
Adrian
0 项奖励
回复

2,736 次查看
Beijing2008
Contributor I
Hi Adrian:
   Thanks for your reply.
 
   I still have some problems:
   (1)What's the function of S19 file?I have opened a .abs.s19 file under project  directory,it is an ASCII file,with character 'S' start every line,is it right?  How to use it ?
 
   (2)Every ZigBee device long address are different, if so , how to control each address is different when manufacture  production in our factory?As you said that the address is stored into flash memory.how to write it into flash memory on product line?
 
 (3)My application based on the SMAC codebase,point-to-point.
       My thinking as below:
        "If I random select a pair of ZigBee device,they can communicate each other,as long as the Channel Number is always same.(Channel Number totaled 16 at 2.4GHz)"

        If it is true,how to distinguish each device?The reason is :I hope the device A only can connect with device B,but the device C or other will be refused. The device A and B is a pair or group.
       Could you give me a good way to accomplish it?

Look forward to your advice!Thanks.
Best regards,
Charly
0 项奖励
回复

2,736 次查看
addiyi
NXP Employee
NXP Employee
Hi Charly,

1) I hope you understand from Peg's post.

2) Yes, every ZigBee long addresses should be unique. In our ZigBee stack a MAC address can be programmed at a fixed location. A structure called gHardwareParametersInit which is present in nv_data.c is always located on 0xff50 (this is implement in MAC and BeeStack). You can modify the ieee_address in this structure during production, but it is up to you to create your own tool. We do NOT offer ANY kind of production tools, but other companies do. E.g PEMICRO that makes the hiwave debugger have dll's and programming interfaces you can buy so you can make you own programming tool.

3) As SMAC don't provide addressing feature, you should write your own code for distinguish each device?

Regards,
Adrian
0 项奖励
回复

2,736 次查看
Beijing2008
Contributor I
Hi Adrian:
 
  You said:"A structure called gHardwareParametersInit which is present in nv_data.c is always located on 0xff50 (this is implement in MAC and BeeStack). "
 
  I don't clear to the address 0xff50,is it a fix flash memory address of 64k flash? As far as I knew,only the MC13211's flash is 60K,but the MC13212's flash size is 32K, less than the 0xff50
 
I think my idea is wrong,but I don't know why,please help me interpret it!
 
Another question,if I use the MC13211 with SMAC,it doesn't need the ieee-address,in other words,the device that based on MC13211/SMAC have no an ieee-address, is it right ?
 
Thanks again!
 
Best regards,
Charly
 
 
 
  
0 项奖励
回复

2,736 次查看
addiyi
NXP Employee
NXP Employee
Hi Charly,

As I say before, in SMAC is not implement network feature like addressing, so SMAC doesn't need ieee address.

Regards,
Adrian
0 项奖励
回复

2,736 次查看
bigmac
Specialist III
Hello Charly,


Beijing2008 wrote:
  I don't clear to the address 0xff50,is it a fix flash memory address of 64k flash? As far as I knew,only the MC13211's flash is 60K,but the MC13212's flash size is 32K, less than the 0xff50

If you check out the memory map within the datasheet for the device, you will observe that, for those devices with a reduced amount of flash memory, the flash memory block will start at a higher address.  The upper reaches of the flash memory, including the interrupt vectors, will be the same for both devices.
 
Regards,
Mac

 
0 项奖励
回复

2,736 次查看
peg
Senior Contributor IV


addiyi wrote:

E.g PEMICRO that makes the hiwave debugger have dll's and programming interfaces you can buy so you can make you own programming tool.

Regards,
Adrian


I don't believe this to be correct.

P&E Micro makes one of the hardware and software combinations that goes in between the hiwave debugger and your device. I don't believe they have anything to do with the hiwave debugger but I would really like to know what the real story is.

My best guess is this:

Hiwave was part of Metroworks Codewarrior before Freescale took it over.
Hiwave is some sort of identity that did the hiwave debugger as some sort of third party to Metroworks.

0 项奖励
回复

2,736 次查看
bigmac
Specialist III
Hello Peg,
 
Some debugger/simulator programs were supplied by P&E for the HC705 devices.  The screen formats of these early tools (late 90's) bear a remarkable resemblance to the Hiwave screen layout (but simplified to cater only for assembly code).  Just thought this might be of interest.
 
P&E also provide a utility called Serialize (I assume it is still available from their website).  I wonder if this might be flexible enough to automatically increment the 64-bit (8-byte) MAC address, during production programming.
 
Regards,
Mac
 
0 项奖励
回复

2,736 次查看
CompilerGuru
NXP Employee
NXP Employee
You mean mcuEz? That was created by hiware too, so it does have common roots with HIWAVE.
As far as P&E is concerned, P&E target connection dll's have been used back then to talk to the P&E pods just as today, although the API's used are not the same.

Daniel
0 项奖励
回复

2,736 次查看
Beijing2008
Contributor I
Thanks,all
 
Best regards,
charly
 
0 项奖励
回复

2,736 次查看
peg
Senior Contributor IV
Hi,

Well  seem to have found out this much:

1986 Metrowerks starts in Quebec.
1994 went public
Aug 99 Motorola buys Metrowerks
July 2000 Motorola buys Hiware AG of Basel Switzerland (maker of Hiwave)
2003 split off Freescale
Oct 2005 drops the name Metrowerks

0 项奖励
回复

2,736 次查看
peg
Senior Contributor IV
Hi Charly,

Here is some reading for you on the S19 question.

Woops doesn't seem to work!
Try here.


Message Edited by peg on 2008-06-27 08:02 PM
0 项奖励
回复

2,736 次查看
Beijing2008
Contributor I
append a problem:
(3) If use the SMAC codebase and MC1321x, whether can write a value into the flash memory?The value is a random number ,as a flag of application and will be stored in flash memory forever.
In other words, how to write the flash memory with SMAC?
 
Best regards,
Charly
 
0 项奖励
回复