Below You'll Find Answers to the Questions We Get Asked the Most About Wireless IoT Technologies.
TI 지그비 FAQ May 10, 2022

RF스타 선임고문 XCODER(We-Media 에세이스트) 작성



1. TI ZigBee 프로토콜 스택 버전 간의 차이로 인해 제품 개발에 적합한 프로토콜 스택을 선택하는 방법은 무엇입니까?


TI ZigBee 프로토콜 스택 Z-Stack은 Z-Stack 0.1에서 Z-Stack 2.5.1a, 이후 Z-Stack Home 1.2.1, Z-Stack Lighting 1.0.2, Z-Stack Energy 1.0으로 개발되었습니다. 1, Z-스택 메시 1.0.0. 프로토콜 스택을 업그레이드하는 과정에서 TI는 주로 프로토콜 스택의 두 가지 측면을 수행했습니다.


1) ZigBee Alliance의 ZigBee 사양에 따라 몇 가지 새로운 기능을 추가합니다.


예를 들어, ZigBee 2007은 나무 모양의 라우팅입니다. ZigBee Pro에서는 Mesh Routing이 나오고 있으며, MTO, Source Routing 등의 라우팅 알고리즘을 제안하고 있습니다. TI는 프로토콜 스택에 해당하는 새로운 기능을 추가하여 모호한 설명이 있는 것과 같은 사양의 일부 관련 버그를 수정합니다.


2) TI ZigBee 프로토콜 스택 자체의 버그를 수정합니다.


버전과 이전 버전 간의 프로토콜 스택 차이점은 릴리스 노트에서 확인할 수 있습니다.

Z-Stack 2.5.1a 버전 이후 TI 프로토콜 스택은 계속 Z-Stack 2.6.x 형태로 직접 출시되지 않고 Application Profile 형태로 출시되었습니다.


그 이유는 TI가 개발자가 실제 응용 프로그램에 따라 개발을 위해 더 많은 대상 프로토콜 스택을 선택하기를 원하기 때문입니다. Z-stack Home 1.2.1과 같은 프로토콜 스택은 주로 다음 두 부분으로 구성됩니다.


1) 이 부분의 시작인 Core Stack은 Z-Stack 2.5.1a 이상의 연속 버전이며 Z-Stack Core Release Notes.txt, 버전 2.6.2에서 찾을 수 있습니다.


2) 응용 프로토콜 스택은 주로 실제 응용과 관련된 프로필과 관련이 있습니다. 홈 오토메이션 프로토콜 스택은 모두 ZigBee 홈 오토메이션 프로파일의 구현과 관련이 있습니다. 마찬가지로 Z-Stack Lighting 1.0.2 및 Z-Stack Energy 1.0.1도 애플리케이션 프로필이 있는 코어 스택입니다.

a.Z-Stack Home 1.2.2a는 스마트 홈 관련 제품을 위해 개발되었습니다.

b.Z-Stack Lighting 1.0.2는 ZLL 관련 제품을 위해 개발되었습니다.

c.Z-Stack Energy 1.0.1은 스마트 에너지, Meter, In Home Display 및 기타 관련 제품을 위해 개발되었습니다.

d.Z-Stack Mesh 1.0.0은 Mesh 라우팅 등과 같은 표준 ZigBee 프로토콜 관련 기능만을 사용하는 Private Application 관련 제품을 위해 개발되었습니다. Application Layer는 개발자가 정의합니다.


ZigBee Alliance가 출시된 후 지그비 3.0 프로토콜, 최신 ZigBee 프로토콜 스택은 Z-스택 3.0 , 현재 지원하는 CC2530, CC2538, CC2652R, CC265P.



2. 제품의 ZigBee 테스트 및 인증은 어떻게 하며, 무엇을 이해해야 하며 어떤 과정을 거쳐야 하나요?


표준 ZigBee Home Automation 관련 제품의 개발에 대한 예가 있습니다. 우선 개발자가 제품을 개발할 때 에 기술된 제품에 따라 제품을 개발해야 합니다. ZigBee 홈 오토메이션 프로필 사양 www.zigbee.org에서 다운로드할 수 있습니다. 제품 개발 완료 후 개발자는 다음을 이해해야 합니다. ZigBee 홈 오토메이션 프로파일 테스트 사양 www.zigbee.org에서도 다운로드할 수 있습니다. 이 문서는 특정 제품이 테스트 하우스에서 테스트해야 하는 관련 테스트 항목을 설명합니다. 위의 두 문서 외에 PICS 문서도 있습니다. 세 번째 문서는 인증 및 테스트가 필요한 제품이 지원하는 기능을 설명합니다. 개발자는 개발된 제품의 실제 기능과 명세서에서 요구하는 기능에 따라 PICS의 기능을 비교 확인한다. 다음은 테스트 과정입니다.


1) ZigBee Alliance에 가입하면 테스트 완료를 도울 수 있는 테스트 랩이 있습니다.

2) 샘플을 테스트 연구소로 보내고 PICS 파일을 완성합니다.

3) 1차 사전 테스트 후 테스트 연구소는 테스트 결과를 피드백하고 개발자는 샘플 코드를 수정합니다. (필요한 경우)

4) 시험소에서 수정된 시료를 확인한 후 정식 시험을 시작한다.

5) 개발자는 시험소의 도움을 받아 ZigBee Alliance 온라인 인증 신청 자료의 준비 및 제출을 완료합니다.

6) 테스트 연구소는 공식 테스트 보고서를 ZigBee Alliance에 제출합니다. 얼라이언스는 증명서를 검토하고 발행할 것입니다.


현재 표준 ZigBee 테스트를 수행할 수 있는 7개의 테스트 연구소가 있습니다.


  • 중국 전자 표준화 연구소(CESI)
  • 소자재료기술
  • 내셔널 테크니컬 시스템즈(NTS)
  • UL
  • 뷰로베리타스
  • 데크라
  • TÜV 라인란드 그룹


https://zigbeealliance.org/certification/testing-providers/




3.장치의 64비트 MAC 주소를 선택하는 방법은 무엇입니까?


CC2530 / CC2538 / CC2630에는 두 개의 IEEE 주소가 있으며, 하나는 Primary IEEE 주소, 다른 하나는 Secondary 주소입니다. 기본 IEEE 주소는 칩의 정보 페이지에 저장됩니다. 이 기본 주소는 IEEE 협회에서 TI가 구입하며 각각 고유합니다. 사용자는 이 값을 읽을 수만 있고 지우거나 수정할 수 없습니다. 프로토콜 스택의 주소를 읽으면 Osal_memcpy(aExtendedAddress,(uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),Z_EXTADDR_LEN)를 얻을 수 있습니다. 보조 주소는 Flash의 마지막 페이지에 저장되며 사용자는 HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, aExtendedAddress, Z_EXTADDR_LEN) 함수를 통해 읽기/쓰기를 수행할 수 있습니다.


프로토콜 스택은 장치의 MAC 주소로 기본 IEEE 주소 또는 보조 주소를 선택하기 위해 어떻게 작동합니까? 특정 작업은 zmain_ext_addr(void)에 있습니다.


1) NV에서 IEEE 주소를 읽습니다. MAC 주소가 이미 존재하는 경우(어느 것도 0xFF가 아님) MAC 주소일 수 있습니다.

2) 1)에서 MAC 주소가 존재하지 않으면 Secondary IEEE 주소의 저장 위치에서 읽을 수 있습니다. Secondary IEEE 주소(0xFF가 없음)의 저장 위치에 있으면 나중에 MAC 주소로 NV에 그 주소를 쓸 수 있습니다.

3) MAC 주소가 2)에 없으면 Primary IEEE 주소의 저장 위치에서 읽을 수 있습니다. 기본 IEEE 주소(0xFF가 없음)의 저장 위치에 존재하는 경우 해당 주소는 나중에 MAC 주소로 NV에 기록될 수 있습니다.

4) 3)에 MAC 주소가 없으면 64비트 가변 주소가 임의로 생성되어 NV에 MAC 주소로 기록됩니다.



4.End Device는 배터리 전원 공급 장치가 있는 저전력 장치입니다. 노드가 네트워크에서 연결 해제된 후 노드가 네트워크를 계속 검색하지 못하도록 하는 방법 또는 Beacon 요청 전송 간격을 늘리는 방법은 무엇입니까?


1) 네트워크 검색 시작: uint8 ZDApp_StartJoiningCycle(void)

네트워크 검색 중지: uint8 ZDApp_StopJoiningCycle(void)

2) Beacon Request 전송 주기를 변경합니다.


변수 수정: zgDefaultStartingScanDuration

// 비콘 순서 값

#define BEACON_ORDER_NO_BEACONS 15

#define BEACON_ORDER_4_MINUTES 14 // 245760밀리초

#define BEACON_ORDER_2_MINUTES 13 // 122880밀리초

#define BEACON_ORDER_1_MINUTE 12 // 61440밀리초

#define BEACON_ORDER_31_SECONDS 11 // 30720밀리초

#define BEACON_ORDER_15_SECONDS 10 // 15360 MSecs

#define BEACON_ORDER_7_5_SECONDS 9 // 7680 MS초

#define BEACON_ORDER_4_SECONDS 8 // 3840 MSec

#define BEACON_ORDER_2_SECONDS 7 // 1920 MSecs

#define BEACON_ORDER_1_SECOND 6 // 960 MSec

#define BEACON_ORDER_480_MSEC 5

#define BEACON_ORDER_240_MSEC 4

#define BEACON_ORDER_120_MSEC 3

#define BEACON_ORDER_60_MSEC 2

#define BEACON_ORDER_30_MSEC 1

#define BEACON_ORDER_15_MSEC 0



5.End Device를 저전력 상태로 만드는 방법과 Sleep 시간을 설정하는 방법은 무엇입니까?


프로토콜 스택 매크로 정의에서 POWER_SAVING을 활성화한 후 f8wConfig.cfg 파일에서 -DRFD_RCVC_ALWAYS_ON=FALSE를 작동하면 최종 장치가 절전 상태로 들어갈 수 있습니다.


슬립 시간은 OSAL 운영 체제의 스케줄링에 의해 결정됩니다. 각 절전 시간은 최신 이벤트 시간 초과를 절전 시간으로 기준으로 합니다. 자세한 내용은 프로토콜 스택 hal_sleep 함수에 설명되어 있습니다.


이 타임아웃은 크게 두 가지 범주로 나뉘는데, 하나는 애플리케이션 계층 이벤트의 타임아웃이고 다른 하나는 MAC 계층 이벤트의 타임아웃입니다.


1) 애플리케이션 계층의 타임아웃 시간은 osal_next_timeout()에 의해 획득됩니다. osal_pwrmgr_powerconserve( 무효)의 기능에서.

2) MAC 계층의 타임아웃 시간은 MAC_PwrNextTimeout()에 의해 얻어집니다. halSleep(uint16 osal_timeout) 함수에서.


6. ZigBee 3.0 프로토콜 스택의 새로운 기능은 무엇입니까?


이전 ZigBee Home Automation/ZigBee Light Link와 비교하여 ZigBee 3.0 프로토콜 스택의 추가를 소개하는 아래 링크를 참조하십시오.

https://www.ti.com/lit/an/swra615a/swra615a.pdf?ts=1627190581608


7. TI ZigBee 프로토콜 스택에서 단말 장비의 상태 전환에 대한 자세한 설명.

https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/104629/ti-zigbee


8. TI 프로토콜 스택에서 OAD와 OTA의 차이점.

OAD는 무선 다운로드이고 OTA는 무선입니다. 이 두 구현의 기능은 동일하며 둘 다 프로그램에 대한 원격 업그레이드라고 할 수 있습니다. 초기 ZigBee 프로토콜 표준에는 노드 프로그램의 무선 업그레이드에 대한 표준이 없지만 많은 고객이 요구 사항을 가지고 있습니다. 따라서 TI는 프로그램의 무선 업그레이드를 위한 프로토콜 스택 세트를 개발하고 이를 OAD라고 명명했습니다. ZigBee Alliance는 수요가 증가하고 있음을 깨닫고 무선 업그레이드 표준을 지정하고 TI OAD 구현을 참조하고 관련 수정을 가한 OTA라는 이름도 지정했습니다. 따라서 초기 TI 프로토콜 스택에서는 무선 업그레이드를 OAD라고 하고 나중에 ZigBee Alliance에서는 OTA라고 합니다.


9. 32K 수정 발진기가 비 저전력 장치에 납땜되지 않은 경우 Z-Stack 프로토콜 스택을 수정하는 방법은 무엇입니까?

Z-Stack 프로토콜 스택에서는 초기화 과정에서 사용된 수정 발진기가 안정적인지 확인합니다. 32K 수정 발진기가 납땜되지 않은 경우 다음 코드를 수정해야 합니다. TI Z-Stack 프로토콜 스택은 기본적으로 32K 수정 발진기를 사용합니다.


hal_board_cfg.h 파일에서 #define OSC32K_CRYSTAL_INSTALLED FALSE



10. ZigBee Mesh 네트워크를 기반으로 프라이빗 애플리케이션을 개발해야 하는 경우 어떤 프로토콜 스택을 선택해야 합니까?


일부 산업 응용 프로그램에서 많은 사용자는 자신의 시스템이나 제품에서 ZigBee 메시 네트워크의 기능만 사용하기를 원하며 ZigBee에서 정의한 응용 프로그램 계층 사양을 따를 필요가 없습니다. 이러한 애플리케이션 요구 사항의 경우 제품 개발에 적합한 TI 프로토콜 스택을 선택하는 방법은 무엇입니까? http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/132197.aspx



11.CC2630/CC2650 ZigBee를 사용하여 개발할 때 Core 스택 코드에서 중단점으로 디버깅할 수 있습니까?

예. 중단점 코드에 해당하는 파일을 미리 다운로드하여 열어서 디버깅해야 합니다.



12.Zigbee 코디네이터는 네트워크 생성에 적합한 채널을 어떻게 선택하나요?

Zigbee 네트워크 생성은 코디네이터가 완료해야 합니다. Zigbee 네트워크에는 코디네이터가 하나만 있습니다. Zigbee 코디네이터는 주로 네트워크 생성 시 네트워크 채널 선택 및 PANID 생성을 완료합니다. 채널을 선택하는 두 단계가 있습니다.


1) 패시브 스캔은 에너지 스캔이라고도 합니다. 패시브 스캐닝은 코디네이터가 수신기를 켜고 미리 설정된 채널 목록을 순차적으로 스캔하는 것을 의미합니다. 스캔 후 각 채널의 에너지 값을 얻습니다. 이 에너지는 주로 다른 Zigbee 네트워크 또는 기타 2.4GHz 무선 네트워크 신호에서 발생합니다. 조정자는 에너지 값이 미리 설정된 임계값보다 높은 채널을 간섭이 더 큰 것으로 간주하고 해당 채널을 제거합니다.

2) 액티브 스캔. 첫 번째 스캔 후 남은 채널에서 Beacon Request가 순서대로 전송됩니다. 해당 Beacon 데이터 패킷이 수신되면 해당 채널에 다른 Zigbee 장치가 있는 것으로 간주합니다. 마지막으로 Coordinator는 다른 Zigbee 네트워크가 없는 PANID를 선택하거나 Zigbee 네트워크가 가장 적은 채널을 선택하여 자체 네트워크를 구축하고 충돌하지 않는 PANID를 설정합니다.


13.UI를 삭제하고 TI Zigbee 3.0 프로토콜 스택을 사용하여 제품 개발 모드로 빠르게 진입하는 방법은 무엇입니까?

https://e2echina.ti.com/question_answer/wireless_connectivity/zigbee/f/104/t/146528



14.CC2530의 플래시와 RAM을 최적화하는 방법은 무엇입니까?

http://www.ti.com/lit/wp/swra635/swra635.pdf


CC2650, CC2538, CC2652R, CC2630, Z 스택, CC2530

메시지를 남겨주세요

메시지를 남겨주세요
우리 제품에 관심이 있고 자세한 내용을 알고 싶다면 여기에 메시지를 남겨주세요. 최대한 빨리 회신해 드리겠습니다.

제품

skype

whatsapp