:::: MENU ::::
Browsing posts in: Infomation

코인셀 배터리 사용시 시스템 설계

코인셀 배터리의 경우 용량도 중요하지만 한번에 땡겨서 쓸 수 있는 전류도 중요하다. 하지만 이 값은 일반적으로 충분히 크지 않다.

따라서 코인셀 배터리의 용량만큼 잘 쓰려면

  • 코인셀에 병렬로 cap을 달아라. 47~100uF, 슈퍼캡?
  • 전류소모가 낮은 부품으로 구성 (당연한 얘기)
  • FEP(Functional End Point) 마진 확보 : 즉 구동 전압이 낮은 칩 사용
  • 테스트 결과를 보면 전류를 갑자기 땡기는 구간이 짧아야하고, 휴지기간이 길어야 한다.
  • 시스템을 설계할때 동시에 구동되는 부품을 줄이도록 설계: 즉 RF칩이 TX를 할때 모터를 구동하지 않는 다거나… (LCD, 모터, RF칩, LED) <= 이게 중요할 듯

참고문헌


Hex 파일 합치기

Bootloader 및 Application 펌웨어가 있는 경우 양산시 하나의 파일을 합쳐서 프로그래밍을 하면 1단계가 줄어든다.

Hex 파일 합치기

srec_cat.exe 이라는 윈도우즈 프로그램을 사용하여 다음과 같이 하나의 파일로 합친다.

srec_cat.exe HexFile1.hex -Intel HexFile2.hex -Intel -o MergedHexFile.hex -Intel

인텔 Hex 파일포맷

Record Format

:llaaaatt[dd...]cc
  • : is the colon that starts every Intel HEX record.
  • ll is the record-length field that represents the number of data bytes (dd) in the record.
  • aaaa is the address field that represents the starting address for subsequent data in the record.
  • tt is the field that represents the HEX record type, which may be one of the following:
    00 – data record
    01 – end-of-file record
    02 – extended segment address record
    04 – extended linear address record
    05 – start linear address record (MDK-ARM only)
  • dd is a data field that represents one byte of data. A record may have multiple data bytes. The number of data bytes in the record must match the number specified by the ll field.
  • cc is the checksum field that represents the checksum of the record. The checksum is calculated by summing the values of all hexadecimal digit pairs in the record modulo 256 and taking the two’s complement.

Data Records

:10246200464C5549442050524F46494C4500464C33

This record is decoded as follows:

:10246200464C5549442050524F46494C4500464C33
|||||||||||                              CC->Checksum
|||||||||DD->Data
|||||||TT->Record Type
|||AAAA->Address
|LL->Record Length
:->Colon
  • 10 is the number of data bytes in the record.
  • 2462 is the address where the data are to be located in memory.
  • 00 is the record type 00 (a data record).
  • 464C…464C is the data.
  • 33 is the checksum of the record.

Extended Linear Address Records (HEX386)

Extended linear address records are also known as 32-bit address records and HEX386 records. These records contain the upper 16 bits (bits 16-31) of the data address. The extended linear address record always has two data bytes and appears as follows:

:02000004FFFFFC
  • 02 is the number of data bytes in the record.
  • 0000 is the address field. For the extended linear address record, this field is always 0000.
  • 04 is the record type 04 (an extended linear address record).
  • FFFF is the upper 16 bits of the address.
  • FC is the checksum of the record and is calculated as
    01h + NOT(02h + 00h + 00h + 04h + FFh + FFh).

When an extended linear address record is read, the extended linear address stored in the data field is saved and is applied to subsequent records read from the Intel HEX file. The linear address remains effective until changed by another extended address record.

The absolute-memory address of a data record is obtained by adding the address field in the record to the shifted address data from the extended linear address record. The following example illustrates this process..

Address from the data record's address field      2462
Extended linear address record data field     FFFF
                                              --------
Absolute-memory address                       FFFF2462

Extended Segment Address Records (HEX86)

Extended segment address records-also known as HEX86 records-contain bits 4-19 of the data address segment. The extended segment address record always has two data bytes and appears as follows:

:020000021200EA
  • 02 is the number of data bytes in the record.
  • 0000 is the address field. For the extended segment address record, this field is always 0000.
  • 02 is the record type 02 (an extended segment address record).
  • 1200 is the segment of the address.
  • EA is the checksum of the record and is calculated as
    01h + NOT(02h + 00h + 00h + 02h + 12h + 00h).

When an extended segment address record is read, the extended segment address stored in the data field is saved and is applied to subsequent records read from the Intel HEX file. The segment address remains effective until changed by another extended address record.

The absolute-memory address of a data record is obtained by adding the address field in the record to the shifted-address data from the extended segment address record. The following example illustrates this process.

Address from the data record's address field     2462
Extended segment address record data field      1200
                                             --------
Absolute memory address                      00014462

Start Linear Address Records (MDK-ARM only)

Start linear address records specify the start address of the application. These records contain the full linear 32 bit address. The start linear address record always has four data bytes and appears as follows:

:04000005000000CD2A
  • 04 is the number of data bytes in the record.
  • 0000 is the address field. For the start linear address record, this field is always 0000.
  • 05 is the record type 05 (a start linear address record).
  • 000000CD is the 4 byte linear start address of the application.
  • 2A is the checksum of the record and is calculated as
    01h + NOT(04h + 00h + 00h + 05h + 00h + 00h + 00h + CDh).

The Start Linear Address specifies the address of the __main (pre-main) function but not the address of the startup code which usually calls __main after calling SystemInit(). An odd linear start address specifies that __main is compiled for the Thumb instruction set.

The Start Linear Address Record can appear anywhere in hex file. In most cases this record can be ignored because it does not contain information which is needed to program flash memory.

End-of-File (EOF) Records

:00000001FF
  • 00 is the number of data bytes in the record.
  • 0000 is the address where the data are to be located in memory. The address in end-of-file records is meaningless and is ignored. An address of 0000h is typical.
  • 01 is the record type 01 (an end-of-file record).
  • FF is the checksum of the record and is calculated as
    01h + NOT(00h + 00h + 00h + 01h).

Example Intel HEX File

Following is an example of a complete Intel HEX file:

:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF

참고

 


충전용 밧데리

Lipo 밧데리

충전용 밧데리로  많이 사용하는 Lipo밧데리는 다음과 같이 불린다.

  • Lithium Ion Polymer
  • Li-Poly
  • LiPoly
  • LiPo

밧데리 전압

일반적으로 3.7V이며, 4.2V 도 있음. 그런데 충전을 해보니 3.7V라고 쓰여진 제품도 완충되면 4.2 정도까지 전압이 나온다.  중요한 것은 아래 그래프처럼 최대 4.2V에서 3.7V를 유지를 하다가 3.4V가 되면 밧데리를 더 이상 사용이 안되고, 3.0V가 되면 컷오프 회로가 작동을 해서 회로를 끊어버린다.

The voltage starts at 4.2 maximum and quickly drops down to about 3.7V for the majority of the battery life. Once you hit 3.4V the battery is dead and at 3.0V the cutoff circuitry disconnects the battery.

 

주의할 점

  • 허용 전압 이상(4.2V) 으로 충전 금지
  • 허용 전압 이하(3.0V)까지 방전 금지
  • 허용 전류 이상으로 충전 금지
  • 허용 온도 스펙 (0~50도)에서만 충전 및 사용
  • 밧데리 팩을 직렬, 병렬 연결 금지 <== 이런 것은 공장에서 각 배터리의 전압차를 기계로 잘 맞춰서 만든다고 한다.

참고 문서https://learn.adafruit.com/li-ion-and-lipoly-batteries?view=all


태양광 충전

태양광 패널

태양광 패널에서 생성된 전력을 충전회로를 통해 밧데리에 충전을 한다. 일반적으로 태양광 패널은 6V, 12V이다. 관련한 솔루션을 찾아보니 한 3가지 정도가 나온다.

Dual Power 입력의 처리

MAX1551같은 칩을 사용하거나. 다음과 같이 처리하면 첫번째 파워가 연결이 됐을 경우 2번째 파워를 통한 입력을 막을 수 있다.

A P-channel MOSFET, M1, is used to prevent back conducting into the 2nd power supply when the 1st power supply is present and Schottky diode, D1, is used to prevent 2nd power supply loss through the 1kΩ pull-down resistor.

 





DC 모터의 돌입전류를 제한하는 방법

NCT 써미스터를 사용하며, 용량은 다음과 같이 계산한다.

  • Inrush Current – 전류의 3-4배 (ex: 0.25A 일 경우, 1A)
  • NTC써미스터가 흡수해야할 에너지계산(E = V x I x Time) – 24V x 1A x 0.2 sec = 4.8 Jouls
  • Rmin  계산 (입력전압/원하는 최대 전류)  – 24V/0.5A = 48 ohm <= 48ohm 보다 큰 값의 부품을 찾는다.

이렇게 해서 전체 리스트에서 부품을 찾는다.

참고: https://www.ametherm.com/blog/inrush-current/dc-motor-inrush-current


임베디드 시스템 개발 방법의 변화

아두이노가 기존의 전통적인 하드웨어 개발을 바꾸어 놓았고, 이후에 Raspberry Pi와 저가의 ESP8266가 오픈소스하드웨어 시장의 3축으로 자리를 잡았다. 최근의 추세는 Adafruit의 제품이 이 시장을 주도하고 있는 느낌이다.

Feather 보드의 폼펙터가 디펙토스텐다드화되고 있으며, Javascript를 사용하는 Espruino, Python을 사용하는 CircuitPython 보드처럼 스크립트 프로그래밍 언어가 임베디드 개발에 사용되고 있다. 이런 보드들은 스트립트 언어를 사용하기 때문에 개발툴을 따로 설치할 필요가 없고, 보드를 컴퓨터의 USB 포트연결하면 외장 메모리도 잡히므로 파일하나만 수정해서 copy해서 넣으면 동작을 한다.

참고 자료


엣지 컴퓨팅, 포그 컴퓨팅, 클라우드렛

엣지 컴퓨팅은 IoT기기들이 생성한 데이터를 데이터센터나 클라우드까지의 기나긴 경로를 통해서 송신하는 대신 데이터가 생성된 위치에서 더 가까운 곳에서 처리될 수 있도록 함으로써 중요한 데이터를 준 실시간으로 처리가 가능하게 한다.

의미

중요한 데이터를 지역에서 처리하거나 저장하고, 수신된 모든 데이터를 중앙 데이터센터나 클라우드 스토리지 리포지토리로 보내는 약 10평방미터 이하 규모의 마이크로 데이터센터들로 구성된 메시 네트워크(Mesh Network) – IDC의 정의

  • 엣지 컴퓨팅은 클라우드 컴퓨팅과 대조되는 기술
  • 클라우드 컴퓨팅이 ‘중앙 데이터센터와 직접 소통(communicate)하는’ 방식이라면 엣지 컴퓨팅은 기기 가까이 위치한 일명 ‘엣지 데이터센터’와 주로 소통하며 2차 작업(과 그 결과물의 저장)을 중앙 클라우드에 맡기는 방식
  • 따라서 클라우드에 걸리는 데이터 부하(負荷)가 대폭 줄어 대역폭 상으론 문제가 많았던 부분이 크게 개선될 수 있음.
  • 결국은 클라우드 컴퓨팅 방식을 보다 정교하게 만든 형태

응용

  • IoT기기등으로 인해 데이터양의 증가
  • 접속 환경이 열악해서 IoT 기기들이 중앙 클라우드에 끊임없이 연결하는 것이 비효율적인 경우
  • 지연에 민감한 정보 처리의 경우 – 데이터가 처리를 위해 데이터센터나 클라우드까지 이동할 필요가 없기 때문에 지연시간이 줄어듬. 이는 금융 서비스나 제조처럼 ms 단위의 지연시간에도 민감한 상황에서 이상적임.
  • 많은 양의 데이터를 만들어 내고 있지만 데이터의 대부분은 중요하지 않은 경우.  예를 들면 수천 개의 센서를 가지고 있는 바다 한 가운데 있는 석유 시추시설. <= 데이터 그 자체가 시스템이 정상적으로 작동하고 있다는 사실을 보여주는 것이기 때문.
  • 통신업체의 차세대 5G 네트워크 확장 – 5G를 구축하면서 5G 송수신 타워 자체에 마이크로 데이터센터를 추가. 기업 고객들은 에지 컴퓨팅을 하기 위해 이런 마이크로 데이터센터를 소유하거나 임대하게 되면, 통신 업체가 보유하고 있는 더 방대한 네트워크로의 게이트웨이에 직접 액세스할 수 있고, 그렇게 되면 퍼블릭 IaaS 클라우드 공급업체에 연결할 수 있게 됨.

    클라우드 컴퓨팅 아키텍트(architect)로 잘 알려진 재너카이럼(Janakiram MSV)은 “엣지 컴퓨팅 환경에선 세 개의 층, 즉 1) 데이터 소스(data source) 2)인텔리전스 레이어(intelligence layer) 3)실천 가능한 인사이트(actionable insight)가 서로 맞물리며 상호작용한다”라고 주장

    엣지 컴퓨팅에서 머신 러닝은 엣지와 클라우드 간 파트너십을 규정한다. 클라우드는 대용량 데이터 세트와 복잡한 알고리즘에 기초해 머신 러닝 모델을 창출, 엣지 플랫폼에 넘겨준다. 그러면 엣지 플랫폼은 해당 모델을 이용, 실시간으로 데이터 세트를 처리하게 된다. 이 과정에서 엣지 층(layer)과 클라우드 층을 연결해주는 게 바로 인텔리전스 레이어, 곧 엣지 컴퓨팅 체계의 두 번째 차원이다.

    엣지 컴퓨팅 시스템 사용자(이를테면 기업의 정책 결정자)는 인텔리전스 레이어가 제공한 분석에 기초해 정확한 판단을 내릴 수 있다. 이게 바로 엣지 컴퓨팅의 세 번째 요소, 곧 실천 가능한 인사이트다. 요컨대 엣지 컴퓨팅은 머신 러닝의 지원에 따라 과거 인간 전유물로 간주됐던 창의적 인사이트를 기계로 창출, 인간에게 제공하는 시스템이다. 이 같은 작동 기제는 곧 엣지 컴퓨팅이 ‘가장 바람직한 행동을 위한 판단’을 도출해낼 수 있는 근거이기도 하다.

    엣지 컴퓨팅은 ‘클라우드-엣지-디바이스’라는 (물리적 차원의) 3중 구조를 띤다. 동시에 ‘데이터 소스-인텔리전스 레이어-실천 가능한 인사이트’라는 (형이상학적) 3중 구조를 취하고 있기도 하다. 말하자면 ‘2중적 3중 구조’인 셈.

    포그 컴퓨팅

    에지 기기들과 클라우드 간의 네트워크 연결을 가리킨다. 반면에, 에지 컴퓨팅은 에지 기기 가까이에서 수행되는 컴퓨팅 과정을 좀 더 구체적으로 가리킨다. 그렇기 때문에, 포그 컴퓨팅은 에지 컴퓨팅을 포함하면서, 처리된 데이터를 최종 목적지까지 보내기 위해 필요한 네트워크도 포함하고 있다.

    관련 용어

    • 에지 기기(Edge Device) : 데이터를 생성하는 모든 기기가 될 수 있다. 에지 기기는 데이터를 생성 또는 수집하는 센서, 산업용 머신 또는 따른 기기들이 될 수 있다.
    • 에지(Edge) : 에지가 무엇인가는 용도에 따라 달라진다. 통신 분야에서 에지는 아마도 휴대 전화기 또는 송수신 타워가 될 수 있다. 자동차 시나리오에서는 정비소 바닥의 장비가 되고 기업 IT에서는 노트북이 에지가 될 수 있다.
    • 에지 게이트웨이(Edge Gateway) : 게이트웨이는 에지 컴퓨팅 처리가 수행되는 곳과 더 폭넓은 포그 네트워크 사이의 버퍼이다. 게이트웨이는 네트워크 에지를 넘어서는 더 큰 환경으로의 창구이다.
    • 팻 클라이언트(Fat Client) : 에지 기기에서 어느 정도의 데이터 처리를 할 수 있는 소프트웨어. 단순하게 데이터를 전송하기만 하는 씬 클라이언트(Thin Client)와 상대가 되는 용어이다.
    • 에지 컴퓨팅 장비(Edge Computing Equipment) : 에지 컴퓨팅은 다양한 기존 장비와 신규 장비를 사용한다. 여러 가지 기기, 센서 그리고 머신들을 인터넷 액세스 가능하게 만들기만 하면 에지 컴퓨팅 환경에서 작동하게 할 수 있다. 시스코를 비롯한 다른 하드웨어 공급업체들은 현장 환경에서 사용할 목적으로 외장이 강화된 견고한 네트워크 장비 라인을 보유하고 있다. 다양한 컴퓨트 서버, 컨버지드 시스템 그리고 심지어는 AWS 스노우볼(Snowball) 같은 스토리지 기반 하드웨어 시스템까지도 에지 컴퓨팅 배치에 사용될 수 있다.
    • 모바일 에지 컴퓨팅(Mobile Edge Computing) : 통신 시스템 특히, 5G 시나리오에서 에지 컴퓨팅의 확장을 가리킨다

    참고