EmStat Pico 펌웨어 v1.6: 무엇이 변경되었나요?
EmStat Pico 및 관련 제품에 대한 1.6 펌웨어 업데이트에는 많은 개선 사항이 있습니다. 여기에는 버그 수정과 새로운 기능이 모두 포함되어 있습니다.
펌웨어를 업그레이드하는 방법은 무엇인가요?
PSTrace를 사용하여 편리한 방식으로 펌웨어를 업데이트할 수 있습니다. PSTrace 5.12( MyPalmSens를 통해 제공)에는 펌웨어가 포함되어 있으며 필요한 펌웨어 업데이트가 있으면 자동으로 알려줍니다.
PSTrace를 사용하여 펌웨어 업데이트 PSTrace 다운로드PSTrace 없이 EmStat Pico 펌웨어를 업데이트하려면 펌웨어를 수동으로 다운로드하고 이 튜토리얼을 사용하세요.
EmStat Pico용 다운로드상위 10가지 개선 사항
이 EmStat Pico 펌웨어에는 몇 가지 멋진 개선 사항과 새로운 기능이 포함되어 있습니다. 10가지 유용한 기능이 추가되었습니다:
각 측정에 대해 자동으로 새 파일 생성
"measurement<count>.txt"라는 이름의 새 파일을 만듭니다. 여기서 <count>는 파일 이름을 고유하게 만들기 위해 증가하는 카운터입니다.
file_open "measurement&i.txt" 2 file_close
변수를 기반으로 파일 이름을 만들 수도 있습니다.
e
var x
send_string "Starting script"
store_var x 5i ja
file_open f"script/file{x}&i" 2
set_script_output 3
on_finished:
cell_off
file_close
더 긴 변수 이름
변수에 한 글자만 사용할 수 있는 시대는 지났습니다. 코드의 가독성을 높이기 위해 더 긴 변수를 자유롭게 선언할 수 있습니다.
var potential var current var time var under_score_is_ok
소프트웨어 흐름 제어
UART 소프트웨어 흐름 제어(XON/XOFF)는 데이터 전송의 안정성을 높입니다. 이제 Tera Term에서 연결 설정은 아래 이미지와 같이 표시됩니다:

LED 제어
저전력 애플리케이션을 실행 중이고 모든 LED를 비활성화해야 하나요? 아니면 사용자에게 무언가 신호를 보내고 싶으신가요? 이제 notify_led를 사용하면 가능합니다.
#Busy mode, enable both the RED and BLUE LED notify_led 2
더 쉬워진 바이포텐시오스탯 명령어
바이포텐시오스탯 사용이 간소화되었습니다. 이전 명령은 여전히 작동하지만 향후 펌웨어 버전에서 제거될 수 있습니다.
변경사항:
- 바이팟 채널에서 사용해야 했던 `set_bipot_mode` 명령이 추가되었습니다(`set_poly_we_mode`를 대체).
- 바이팟 채널에서 사용해야 했던 `set_bipot_potential`(`set_e`) 명령 추가.
- 선택적 인수 `add_meas` 추가
- 새로운 `bb`(바이팟 전류) VarType 추가
- 새로운 `set_bipot_mode` 명령을 위해 `set_poly_we_mode` 및 PGStat 모드 5 (poly_we) 명령이 더 이상 사용되지 않습니다.
- 선택적 인수 `poly_we`가 `add_meas`를 대신하여 더 이상 사용되지 않습니다.
펌웨어 1.3의 이전 코드 예시:
e
var c
var p
var b
set_pgstat_chan 1
set_pgstat_mode 5
set_poly_we_mode 0
set_max_bandwidth 200
set_range ba 590u
set_autoranging ba 590u 590u
set_e 1
set_pgstat_chan 0
set_pgstat_mode 2
set_max_bandwidth 200
set_range_minmax da -66150u -66150u
set_range ba 59n
set_autoranging ba 59n 590u
set_e -1
cell_on
meas_loop_lsv p c -1 1 10m 500m poly_we(1 b)
pck_start
pck_add p
pck_add c
pck_add b
pck_end
endloop
on_finished:
cell_off
펌웨어 1.5의 새로운 코드:
e
var c
var p
var b
set_pgstat_chan 0
set_pgstat_mode 2
set_bipot_mode 1
set_bipot_potential 1
set_max_bandwidth 200
set_range_minmax da -30000u -30000u
set_range ba 30n
set_autoranging ba 30n 300u
set_e -1
cell_on
meas_loop_lsv p c -1 1 10m 500m add_meas(0 bb b)
pck_start
pck_add p
pck_add c
pck_add b
pck_end
endloop
on_finished:
cell_off
정확한 타임스탬프
어떤 측정이 언제 이루어졌는지 정확히 알고 싶으신가요?
EmStat Pico 개발 키트에 사용되는 Ablic S-35390A RTC와 함께 사용할 경우 현재 시간을 읽어 전송합니다.
var yr
var mo
var dy
var hr
var mn
var sn
rtc_get yr mo dy hr mn sn
send_string f"{yr} {mo} {dy} {hr} {mn} {sn}"
더 쉬워진 배열 인덱싱
이제 배열에 더 간편하게 액세스할 수 있습니다.
e
# Make the 100-element array "a"
array a 100
# initialize the array, fill them with 5
var index
store_var index 0i ja
loop index < 100i
store_var a[index] 5 ja
send_string f"Array[Index]: {index} = {a[index]}"
add_var index 1i
wait 10m
endloop
# The 11th element will be used as the argument.
set_e a[10i]
향상된 수학 기능
전기 화학 실험의 전류가 특정 바이오마커의 농도 또는 양과 어떤 식으로든 관련이 있습니까? 아니면 보정 곡선이 있나요? 전류에서 양으로 변환이 필요하며 수학 함수를 사용하면 가능합니다.
이 펌웨어 업데이트에는 제곱근 계산을 수행할 수 있는 파워 기능도 추가되었습니다.
e
#Take the square root of x and store the result in x .
var x
store_var x 2 ja
pow_var x 500m
send_string f"Square root of 2 is {x}"
wait 1
store_var x 4 ja
pow_var x 2
send_string f"4 to the power 3 is {x}"
wait 1
피크 감지
측정 결과의 피크는 종종 특정 요소 또는 바이오마커의 검출과 관련이 있습니다. 메소드스크립트에서는 간단한 형태의 피크 감지가 가능합니다.
#Detect the two highest positive peaks in an input array, larger than 10e-6. array indices 2 array heights 2 peak_detect data indices heights 0i 10u
파일에 변수 쓰기
메서드스크립트는 제한된 문자열 보간을 지원하므로 변수 값을 문자열 안에 포함할 수 있습니다. 보간된 문자열은 여는 따옴표 바로 앞의 문자 f로 표시됩니다. 문자열에 포함될 변수는 중괄호로 둘러싸입니다(예: {varname}).
#The following example demonstrates how to print the value of a MethodSCRIPT variable and store the result in a file:
file_open "measurement&i.txt" 2
var x
store_var x 10i ja
send_string f"x = {x}"
This will print the string x = 10
file_close
.
이 펌웨어의 새로운 MethodSCRIPT 명령은 어떻게 사용하나요?
이 펌웨어에서 사용할 수 있는 모든 메소드스크립트 명령에 대한 개요를 확인하려면 메소드스크립트 설명서를 다운로드하세요.
메서드스크립트 문서영향력 있는 변화와 그 의미
펌웨어를 일부 변경하면 기존 코드의 기능이 변경됩니다.
설정 범위
set_range`가 더 이상 과부하 경고를 유발할 수 있는 현재 범위를 선택하지 않습니다.
전류 범위의 48%(60%의 80%)를 초과하는 전류가 있는 경우 EmStat Pico Core에서 과부하 경고를 표시합니다. 이전에는 예를 들어 59nA를 처리하도록 전류 범위를 설정하면 가장 낮은 100nA 범위가 선택되었습니다. 새 업데이트에서는 전류 범위를 59nA로 선택합니다. 이렇게 하면 59nA의 전류가 예상될 때 즉시 과부하가 걸리지 않습니다.
PSTrace(5.11 이상)에서 생성된 일반적인 메서드 스크립트에서는 다음과 같은 내용을 볼 수 있습니다:
set_range ba 59n set_autoranging ba 59n 590u
이 메서드스크립트가 최신 펌웨어에서 동일하게 작동하도록 하려면 예를 들어 과부하를 일으키지 않는 값으로 변경하세요:
set_range ba 30n set_autoranging ba 30n 300u
2% 미만 대신 4% 미만 과부하
전류가 선택한 전류 범위의 4% 미만(이전 값은 2%)이면 더 낮은 전류 범위가 적용될 수 있으므로 전류 과부하 경고가 표시됩니다. 저부하는 낮은 분해능과 정확도로 측정값을 산출합니다. 사용 가능한 전류 분해능과 정확도를 높이려면 가능한 경우 더 낮은 전류 범위를 선택하세요.
최대 절전 모드 중 전위 적용
펌웨어 1.3 이하에서는 모든 채널 설정이 지워지고 최대 절전 모드에서 채널이 꺼집니다.
펌웨어 1.5 이상에서는 셀을 수동으로 끄고 선택적으로 채널을 PGStat 모드 꺼짐으로 설정해야 합니다.
- 채널을 고속 모드로 두면 오류 코드 0x4205가 발생합니다.
- 채널을 저속 모드로 두면 최대 절전 모드 중에 바이어스 전압이 적용됩니다. 이는 예를 들어 전압이 적용되고 x분마다 전류를 읽는 저전력 애플리케이션에 유용합니다( 크로노암페어 측정 참조).
타이밍 개선
측정 타이밍이 개선되어 이전 펌웨어에 비해 더 정확해졌습니다.
정확도 향상
고속 및 최대 범위 모드에서 정확도를 향상시키기 위해 보정이 추가되었습니다. 이미 보정된 디바이스에는 적용되지 않습니다.
EmStat Pico 펌웨어 변경 로그 버전 1.6
변경 로그 v1.6
- MethodSCRIPT 1.8 명령 추가
- 서브어레이
- log_var
- 파일에서 메서드 스크립트 로드 및 실행 추가
- 자동 거리 측정 재설정 `meas_loop_eis` 수정
- I2C 풀업이 채워지지 않은 경우 '최대 절전 모드' 명령이 중단되는 문제 수정(OEM만 해당)
EmStat Pico 펌웨어 변경 로그 버전 1.5
버전 1.5.00:
- 메소드스크립트 1.7로 업데이트됨
- UART 소프트웨어 흐름 제어(XON/XOFF)가 추가되었습니다. 이제 모든 EmStat Pico에 SW 흐름 제어를 사용할 것을 권장합니다.
- 최대 절전 모드 중에 전위를 적용할 수 있도록 개선된 최대 절전 모드 메서드 스크립트 명령어
- 폴리 WE 채널 RE와 GND를 측정하는 기능 추가
- 타이밍 정확도 향상
- 업데이트된 통신 세부 정보(UART 전송 속도 및 흐름 제어)
- CV에 `R` 반전 명령 추가
- 레지스터를 추가했습니다:
- 주변 장치 구성
- 라이선스 레지스터
- 메서드 스크립트 자동 실행
- UART 데이터 속도 제한
- 기기 재설정
- 멀티채널 역할
- 시스템 날짜 및 시간
- 기본 GPIO 구성
- 시스템 경고
- 전송 속도 구성
- 더 이상 사용되지 않는 `s` 명령 제거, 대신 MethodSCRIPT 최대 절전 모드 사용
- 최대 줄 길이가 256으로 증가했습니다.
- 메서드스크립트 변경 및 추가:
- 주석도 포함하도록 줄 번호 업데이트
- pck_start`/`pck_add`/`pck_end` 명령의 동작을 업데이트했습니다.
- GPIO 명령의 마스크 버전(`set_gpio_msk` 및 `get_gpio_msk`)이 추가되었습니다.
- 멀티플렉서 명령: `mux_config`, `mux_get_channel_count`, `mux_set_channel`
- 모듈로 연산: `mod_var`
- 메서드스크립트 변수의 _VarType_을 변경합니다: `alter_vartype`
- 장치 LED를 사용하여 사용자 알림을 출력합니다: `notify_led`
- 순환 전압 전류 측정(CV)의 스캔 방향을 설정합니다: `set_scan_dir`
- 메소드 스크립트 내에서 RTC 날짜와 시간을 검색할 수 있는 `rtc_get` 명령 추가
- 더 쉬운 바이팟 사용 방법
- bipot 채널에서 사용해야 했던 `set_bipot_mode` 명령 추가 (`set_poly_we_mode`를 대체).
- 바이팟 채널에서 사용해야 했던 `set_bipot_potential` 명령 추가(`set_e` 대체).
- 선택적 인수 `add_meas` 추가
- 새로운 `bb`(바이팟 전류) VarType 추가
- 새로운 `set_bipot_mode` 명령을 위해 `set_poly_we_mode` 및 PGStat 모드 5 (poly_we) 명령이 폐지되었습니다.
- 선택적 인수 `poly_we`가 `add_meas`를 위해 폐지되었습니다.
- 주변 장치 구성 레지스터에서 활성화된 경우 EmStat Pico는 이제 시스템 날짜 및 시간에 외부 Ablic S-35390A RTC를 사용합니다.
- pow_var` MethodSCRIPT 명령 추가
- set_range`가 더 이상 과부하 경고를 유발하는 현재 범위를 선택하지 않습니다.
- MEAS_LOOP_EIS` 가상 임피던스가 더 이상 불명확한 범위를 반환하지 않습니다.
- 보간 문자열(_f-strings_)에 대한 지원 추가
- 배열 액세스 구문 지원 추가
- 파일에서 숫자 자동 증가 지원 추가
- 여러 문자 변수 이름에 대한 지원 추가
- 이제 `set_autoranging` 명령이 음수 입력 시 오류로 응답합니다.
- 이제 `wait` 메서드 스크립트 명령을 중단할 수 있습니다.
- 다양한 버그 수정
EmStat Pico 펌웨어 변경 로그 버전 1.1 ~ 1.3
버전 1.3.05:
- 버그픽스: 보류 명령 후 따라잡기 시도 기술 중지
- 버그픽스: SWV에서 타이밍 경고 플래그가 설정되지 않는 문제를 수정했습니다.
버전 1.3.04:
- 버그픽스: Ch1 및 DC의 EIS 측정 오류
버전 1.3.03:
- 플래시로 저장된 스크립트와 1.3.01과의 충돌을 방지하기 위해 MScript 버전이 업데이트되었습니다.
버전 1.3.02:
- 버그픽스: 변수에 대한 i2c_쓰기 및 i2c_읽기 참조가 잘못되었습니다.
버전 1.3.01:
- 버그픽스: 파일 생성 시 파일 열기 모드 1(추가)이 실패했습니다.
버전 1.3.00:
- Sensit BT 온보드 측정 스토리지에 대한 지원 추가
- SD 카드를 스토리지로 사용하는 EmStat Pico의 파일 시스템을 FAT32에서 사용자 지정 파일 시스템으로 변경했습니다.
- 다양한 SD 카드에 대한 지원 개선
- PAD 및 LSV의 획득 비율은 12.5%였으며, 다른 PalmSens 장치 및 기술과 일관성을 유지하기 위해 25%로 조정되었습니다.
- 모든 기술의 오버헤드가 기술 간격의 1/8로 감소했습니다.
- 메소드스크립트를 통해 수집 비율을 구성할 수 있게 되었습니다.
- DC 전위가 적용될 때 EIS 중 전류 범위 개선
- 메소드스크립트에 VT_TEMPERATURE를 추가하여 내부 uC 온도 센서를 샘플링할 수 있게 되었습니다.
- set_cr을 모든 변수 유형을 허용하는 set_range 메서드스크립트 명령으로 대체했습니다(더 이상 사용되지 않지만 여전히 사용 가능).
- set_pot_range를 모든 변수 유형을 허용하는 set_range_minmax 메서드스크립트 명령으로 대체했습니다(더 이상 사용되지 않지만 여전히 사용 가능).
- 메서드 스크립트 set_autoranging 명령에 변수 유형 추가(이전 버전은 더 이상 사용되지 않지만 여전히 사용 가능).
- "패치"를 나타내는 추가 숫자 2자리로 버전 명령 업데이트
- CRC를 통한 페일 세이프 통신 모드 추가
- 호스트에서 버퍼 오버플로우를 방지하기 위해 UART 출력 데이타를 제한하는 명령이 추가되었습니다.
- 저전력 모드의 단락 전류가 최대 20mA로 감소했습니다.
- 파일 저장에 fs_put 명령 추가(텍스트만 해당)
- 데이터를 반환하는 fs_* 명령은 이제 데이터를 반환하기 전에 응답으로 ack 'n'을 반환합니다.
- 파일 저장이 활성화된 경우 CV가 모든 출력을 파일에 저장하지 않음
- 마지막 스캔의 마지막 지점을 건너뛰는 CV 수정
- 비휘발성 메모리에 대한 (잠금 해제) 보호 기능 추가
- 첫 번째 시점 기반 측정의 타이밍 수정
- 절전을 위해 기기가 유휴 상태일 때 절전 모드 추가
- 비휘발성 메모리에 저장된 메소드스크립트를 검증하기 위한 CRC 추가
- NPV/DPV에 대한 기술 검증 개선
- 메서드스크립트에 비트 연산자 함수 추가
- 메서드스크립트에 float/int 함수로의/로부터의 캐스팅 추가
- I2C 전송 간 의도하지 않은 지연 수정
- 명령에 5초 타임아웃 추가
- 보고된 SWV의 잠재력이 이론과 일치하지 않는 문제 수정
- EIS가 중단 명령에 더 빠르게 응답하도록 개선했습니다.
- "cali" 명령을 register로 대체
버전 1.2:
- get_time 메서드 스크립트 명령 추가
- 최대 절전 모드 메서드 스크립트 명령 추가
- 메서드스크립트에서 이진수 또는 16진수 사용 기능 추가
- 정수 숫자 추가(GPIO 함수 및 루프에 유용)
- 일반 프로토콜에서 부트로더로 진입하는 명령 추가
- get_gpio, set_gpio_pullup 및 set_gpio_cfg 명령 추가
- SD 카드 지원 추가(메소드 스크립트 출력을 저장하는 방법 추가 및 파일 브라우저 명령 추가)
- MethodSCRIPT 명령 중단 추가
- if, else, elseif 및 endif 메서드 스크립트 명령 추가
- 브레이크 루프 메서드 스크립트 명령 추가
- "측정" MethodSCRIPT 명령에 사용할 수 있는 새로운 MethodSCRIPT 변수 유형이 추가되었습니다.
- 부울 비교에서 비트 연산자에 대한 MethodSCRIPT 지원 추가
- timer_start 및 timer_get 메서드스크립트 명령 추가
- set_int, await_int 메서드 스크립트 명령 추가
- 메소드스크립트 사용자 I2C 지원 추가
- 측정 패키지에서 전송할 메타데이터를 지정하기 위한 MethodSCRIPT 지원 추가
- 메소드스크립트 배열 지원 추가
- 이제 자동 범위 지정이 꺼져 있을 때 메서드 스크립트 명령이 set_cr을 사용합니다(자동 범위 지정이 활성화되어 있어도 여전히 무시됨).
- 중복 지점 없이 여러 스캔을 위해 CV에 nscans MethodSCRIPT 옵션 명령을 추가했습니다.
- Sensit BT 지원 추가
- 고속 DAC 및 외부 저항에 최적화된 캘리브레이션 루틴
버전 1.1:
- 최대 2.6V 동적 범위를 허용하는 결합된 pgstat 모드 추가
- 비활성 채널에 대기 전위 적용 기능 추가
- BiPot 기능 추가(저속 전용)
- PAD 기술 추가
- EIS 자동 범위 지정 지원 추가
- EIS 측정 후 채널 설정이 복원되지 않는 문제 수정
- 이제 메서드 스크립트가 실행되기 전에 'e' 및 'r' 명령에 'n'이 추가됩니다.
- 스크립트에 공백을 추가하는 기능 추가
- 측정값을 파일에 저장하는 기능 추가(데이터 검색 기능은 아직 없음)
- 플래시 메모리에 스크립트를 저장하는 기능 추가
- 플래시에서 명령어 또는 시작 시 저장된 스크립트를 실행하는 기능 추가
- HW 버전 1.1 지원, HW 버전 간 기능적 차이는 없습니다.
버전 1.1
- 버그 수정: 대부분의 기술에서 타이머 2회 대기: CV, DPV, LSV, NPV, OCP, SWV
- 기술은 관여하지 않습니다: CA, EIS, PAD