뉴긴(Newgin)
NEWGIN은 파칭코, 파치슬롯 기계 등 게임 기계를 개발, 제조, 판매하는 회사입니다.
마이크로컨트롤러 전환은 까다로운 과정이지만 신뢰할 수 있는 IDE와 안전성 지원 덕분에 성공적으로 이루어졌습니다.
게임기계 제조업체인 NEWGIN은 파칭코 게임 기계의 음향, 이동성 부품, 조명을 제어하기 위해 마이크로컨트롤러를 변경하기로 했습니다. 반도체 제조업체가 생산하는 고유의 코어 프로세서에서 NXP에서 생산하는 Arm기반 코어 프로세서로 변경한 것입니다. LPC4330FET는 Arm Cortex-M4 코어와 Cortex-M0 코어를 통합하며 드물게 쓰이는 마이크로컨트롤러입니다.
NEWGIN은 LPC4330FET를 도입하면서 Arm 기반 마이크로컨트롤러 사업뿐 아니라 듀얼코어 소프트웨어 사업을 진행하기 위해 IAR Embedded Workbanch for Arm를 구매하기로 결정했습니다. NEWGIN에 따르면 IAR Embedded Workbanch의 사용 편의성과 충분한 지원 덕분에 성공적인 전환이 이루어졌다고 밝혔습니다. 이제 회사에서 “CR Hana no Keiji X (Ikusa)” 파칭코 게임 기계를 생산할 수 있게 되었습니다.
게임 기계 개발 과정의 제약에도 불구하고 조명과 성능의 발전
NEWGIN 시스템은 아래와 같이 3개의 보드로 이루어져 있습니다:
- 메인 컨트롤 보드
- 성능 제어 보드
- LCD 디스플레이 보드
메인 컨트롤 보드는 파칭코 볼이 보드 정면의 하부 중심에 들어오면 복표를 처리(플레이어가 타깃을 맞추는지 여부와 상관없이)합니다. 이 보드는 어셈블리 언어를 프로그래밍하는 8비트 마이크로컨트롤러를 장착하고 있습니다.
우리는 수십 대의 게임 기계들을 매년 시장에 공급합니다. 우리 회사의 슬로건은 “Serious Play 진지한 놀이”이며 고객들에게 엔터테인먼트를 선사하여 사회에 이바지하고자 합니다. “CR Hana no Keiji” 시리즈는 전 연령대 고객들의 사랑을 받고 있습니다. 이 시리즈는 작년에 출시되었고, 10주년이 되면 Hana no Keiji 제품을 좀 더 발전시켜 더 좋은 제품을 고객에게 드리려고 합니다.
- Takefumi Miyazaki
성능 제어 보드의 기능
성능 제어 보드는 스피커에 출력되는 사운드를 제어하고 기계 틀과 보드 정면에 설치된 LED와 이동성 부품용 모터를 제어합니다 (그림 1).
기계의 성능에 가장 큰 영향을 미치는 부분이자, 마이크로컨트롤러를 변경하는 사업의 대상이 바로 이 성능 제어 보드입니다. 또 성능 제어 보드는 어느 기능을 수행할지 결정하기 위해 복표를 처리하고, LCD 디스플레이 보드는 복표 처리 결과를 이용해 보드 정면 중심에 위치한 LCD 화면에 필요한 패턴과 동영상을 표시합니다.
- Kouki Shimada
보드 정면과 기계 틀에 설치된 LED 개수는 총 400~600개 정도입니다. 대다수의 LED는 컬러 LED입니다. 일부 파칭코 게임 기계 모델은 15개 이상의 모터를 장착하여 제공됩니다.
최근 게임 사양이 다양화되면서, 메인 제어 보드의 프로세스가 더욱 복잡해져도 최대 용량은 3Kbyte로 제한되어 있습니다. ROM은 3Kbyte, RAM은 512byte 프로그램으로 제한되어 있습니다. 프로그램 언어가 어셈블러로 쓰이므로, 표면 실장 기기는 전기 부품에 사용될 수 없습니다.
- Kouki Shimada
성능 제어 보드와 LCD 디스플레이 보드에도 제약이 있습니다. 비주얼 데이터를 저장하는 LCD 디스플레이 보드의 메모리 용량은 64Gbit로 제한되어 있습니다. Miyazaki는 아래와 같이 말합니다.
성능 제어 소프트웨어의 경우, 개발 작업을 하도급업체에 외주합니다. 툴이 얼마나 직관적으로 작동하는지에 중점을 두기 때문에 마이크로컨트롤러 업그레이드로 개발 환경에 변화가 발생해도, 그 변화가 하도급업체의 작업 효율에 영향을 미치지 않아야 합니다. 원래는 반도체 제조업체가 생산한 사내 개발 툴을 이용했기 때문에 일본어 메뉴와 유사한 GUI가 있는 제품을 구하고자 했습니다.
- Kouki Shimada
우리는 이 컴파일러의 성능이 최고 수준이라고 생각했습니다. 당시 코드 최적화 역량의 측면에서 정품 툴이 우위를 차지할 것이라고 생각했는데, IAR Embedded Workbanch의 코드 효율이 경쟁업체를 상대로 경쟁력을 뽐냈습니다. 또한 공식적인 전환을 하기 전에 IAR Systems에서 친절하게 지원을 받은 점도 IAR Embedded Workbanch를 채택하고자 하는 우리의 최종 결정에 일조했습니다.
- Takefumi Miyazaki
우리는 나고야에 소재한 회사입니다. IAR Systems는 우리가 문의하면 신속하게 대응했고, 직접 회사에 방문해서 세미나를 개최하기도 했습니다. Arm 기반 마이크로컨트롤러에 관한 매우 자세하고 유익한 강의도 제공하고, 다른 개발 환경에서 IAR Embedded Workbanch로 전환하는 방법이나 멀티코어 프로세서를 이용하는 방법, 멀티코어 프로세서의 사용법도 설명해 주었습니다. IAR에서 제공한 풍부한 지원과 교육 덕분에 우리가 처음에 우려했던 문제들이 완전히 해결되었습니다. 개발에만 집중할 수 있도록 해 주어서 매우 감사한 마음입니다.
- Takefumi Miyazaki
NEWGIN은 2016년 11월에 판매를 시작한 “CR Hana no Keiji X”의 성능 제어 보드를 위한 소프트웨어 개발 과정에 IAR Embedded Workbanch를 적용했습니다. (그림 2)
우리는 Cortex-M4 코어(FPU 기능 내장)가 다양한 성능 제어 로직 프로세스를 집중 수행할 수 있도록 했습니다. 이를 위해 Cortex-M0 코어가 주변기기 제어와 외부 I/O 간섭 처리를 수행하게 했습니다. 또한 여기에는 운영체제가 없습니다. 모든 작업이 베어메탈로 수행됩니다. 우리는 기본 소프트웨어를 개발하여 이를 일종의 SDK로서 앱 개발자에게 판매하고 있습니다. 이 기본 소프트웨어를 바탕으로 하여 작동하는 모든 애플리케이션 소프트웨어를 모델별로 다시 만들었습니다.
- Takefumi Miyazaki
LPC4330FET 외에도 이 제품의 회로판은 사운드 LSI용 IC, RTC IC, FRAM, 전원 IC를 갖추고 있습니다. LED 드라이버 IC, 모터 드라이버 IC, GPIO 인터페이스 IC는 외부 장치로 설치되어 있고, 마이크로컨트롤러와 통신이 가능합니다. Cortex-M0 코어는 코프로세서 역할을 합니다.
처음부터 다시 만든 SDK
이 프로젝트를 위해 마이크로컨트롤러의 주변 기능에 따라, 하위 기기 드라이버, LED 제어장치, 모터 제어장치, 사운드 출력 라이브러리 등을 모두 다시 만들었습니다.
특히 SDK의 사용 편의성에 중점을 두었습니다. 구축 전에 중간 파일에 임시 보관되어 있지만, 오류 점검 기능을 이곳에 마련해 두었습니다. 덕분에 실제로 기기를 작동하기 전에 얼마나 많은 조명 시스템이 오작동하는지 파악할 수 있습니다. 이 시스템을 만든 이유는 앱 개발자들이 코드에 있는 사소한 버그를 찾는 데 시간을 낭비하지 않게 하기 위해서입니다.
- Kouki Shimada
마이크로컨트롤러 변경에 따른 생산 제어 보드 개발에서 모든 것이 시작되었습니다. 마이크로컨트롤러와 통신을 하는 몇 가지 기기에 중요한 변경 조치를 취했고, 새로운 기기를 도입하기도 했습니다. SDK를 완전히 개발하는 데 1.5년 정도 걸렸는데, 개발 환경이 직관적이지 않고 품질 관련 지원을 받지 않았더라면, 프로젝트가 더욱 오래 걸렸을 것입니다. 2년 이상이 걸렸을지도 모릅니다.
- Takefumi Miyazaki
IAR 임베디드 워크벤치 덕분에 빌드 시간을 단축
NEWGIN은 IAR Embedded Workbanch를 활용한 덕분에 빌드 시간을 현저히 줄일 수 있었습니다. Miyazaki는 다음과 같이 말합니다.
반도체 제조업체에서 자체 개발한 이전 툴에 비해 빌드 시간을 1/2에서 1/3 정도 줄인 것 같습니다. 이제 하루 만에 여러 대의 제품을 구축할 수 있습니다. IAR Embedded Workbanch 사용법을 배우면 상당한 효율성 제고가 가능합니다.
- Takefumi Miyazaki
향후 소프트웨어 품질 개선 필요
향후 전망과 관련하여 NEWGIN은 소프트웨어 품질 개선에 필요한 툴에 대한 수요 증가를 꼽았습니다. Shimada는 아래와 같이 말합니다.
CI 툴을 이용한 자동화된 건물, 코드의 정적 분석 등 다양한 서비스를 포함하여 소프트웨어 품질을 제고하기 위한 시스템을 구축하고자 합니다.
- Kouki Shimada