RX65N Envision Kit でオーディオプレイヤーを作成しました。

表題の通りです。

ただ、本体を多少改造する必要があります。

(1) SD カードソケットの接続

※マイクロSDなら比較的簡単だと思います。(秋月で売っているマイクロSDモジュールを使いました)

(2) DA0、DA1 出力にアンプ等を接続する。

※それぞれ、JoyStick(未実装)、SW2が出力になりますので、ワイヤーを直接ハンダ付けする必要があります。

(3) 再生できる形式は、MP3、WAV 形式です、量子化は12ビットですが、思っていたより良い音質です。

(4) ライセンスは MIT、MP3 デコーダーの libmad はGPLです。

 

https://github.com/hirakuni45/RX/tree/master/RTK5_AUDIO_sample

ソースコードなど一式は、クローンして下さい。

コンパイル済みバイナリー、MSYS2の開発環境は、以下からダウンロード出来ます。

http://www.rvf-rc45.net/Renesas_GNU_Tools/

合わせて、GitHub の README を参照の事

https://github.com/hirakuni45/RX

  • hirakuni45さん

    こんにちは、シェルティです。

    RX65N Envision Kitを使っていただき、ありがとうございます。
    私はRX65N Envision Kit工場出荷時に書き込んでいる初期ファームのコード開発を担当しました。
    このボードを企画したのはRXマイコンのマーケティングの一番偉い人(ドイツ人)なのですが、
    hirakuni45さんが作っていたファミコン移植のYouTube動画を見せたら「プレイしたい!」と言ってました。
    なので次に集会があるまでに組み立てて動かせるようにしておこうと思います。
    オーディオプレイヤーも動かせるようにしておこうと思います。

    次機種のEnvision Kitの企画も進めたいなと考えており、
    RX65N Envision Kitでコスト見合いで妥協したところ(SDカードスロット、Ether-PHY未実装とか)を
    改善できないものか模索しております。
    D/Aの2chの先にアンプとステレオジャックつけたいと思います。

    あと、オンボード無線にも挑戦したいと考えています。
    ESP32もお手軽ではあるのですが、数十Mbpsオーダの通信速度を目指すとSDIO接続タイプにする必要があります。
    SDIO接続タイプの無線LANモジュールはそのドライバソフトウェアのライセンスが
    なかなか難儀なものなのですが少しずつひも解いております。
    SD仕様もSimplified Specificationとして公開された仕様の中にSDIOもあるので何とかなりそうと思っています。
    さらに個人的に次世代無線としてはNB-IoTに目をつけております。

    こういった量産製品向けの技術や未来の技術を搭載し、
    構想(Envision)ができるようなボードを引き続き開発していきたいと考えています。
    ご意見など賜れましたら幸いでございます。

    以上です
  • シェルティさんこんにちはー

    RX65N Envision Kit で、残念に思うのは内部 RTC 関係の端子が、未接続な点です、またバックアップ
    用端子「VBATT」にもアクセスが困難です。
    「改修」があるのなら、是非、部品は載っていなくても、RTCの水晶発振子と、VBATT端子への
    接続が出来るようにと思います。

    持ち運びの出来る物を作る場合、RTC は必須の機能です、時計のバックアップも必要と思います。
    現状では、外部に I2C 接続の RTC を接続する事になり、スマートではありません・・

    RX65のRTCは、バイナリーモードがあり、非常に良く考えられたものだと思えます、
    使わないのはもったいないww。
    ※時間の管理を本格的に行うアプリでは、バイナリーモードの方が断然使いやすいです。

    ------
    インサーネットのトランスはコストが高いので、後付けでも苦にならないですが、
    PHYチップはQFNパッケージなので、特殊な工具や設備が無いと難しいと思います。
    SDカードソケットも、入手が出来れば問題無いと思えます。
    ※マイクロSDソケットだと、後付けはハードルが上がると思えます。
  • hirakuni45さん

    こんにちは、シェルティです。

    ご意見ありがとうございます。RTC、使えるように検討進めます。
    確かRX65N Envision Kitの企画時にRTC用にボタン電池つけてほしい、と私は言ったような記憶がありますが
    最終は基板を安くするためミニマム仕様が優先(=とにかく仕様を削る)になりましたね。
    もう一度押してみます。私が言っても響かないけれど、大事なユーザが言っていると言えば響くはずですね。

    あと、こちらでは指定のmsysやgcc、binutil、newlibを入れてgitからコード入手し、
    NESとオーディオサンプルのmotをビルドし、Envision Kitに焼いて動くのを確認しました。
    次はDAにアンプ基板をはんだ付けして、コントローラ手作りしてみます。
    あ、いまは業務時間中なのでコードとかはんだごてをいじってると怒られるかな・・・。
    週末に試してみます。

    以上です
  • hirakuni45さん

    こんにちは、シェルティです。

    RXマイコン次機種の Envision Kitの企画を進めております。
    RX65N Envision Kitでできなかったことをできるようにしたいと思います。

    以下のように変更します。書いてない仕様はRX65N Envision Kitの仕様据え置きです。

    ・RX65Nから最新機種に変更。RXv3コアの高性能を試すことができる。
    ・Amazon FreeRTOS対応
     →インターネット経由でファームウェアを書き換えるOTA動作なども可能
    ・セキュリティIP (Trusted Secure IP) 搭載のRXマイコン次機種を選定
     →Ether接続でSSL暗号通信が40Mbpsくらい出る。SDIO無線LANもSSL暗号通信で15Mbpsくらいは実験で確認済み。原理的にはEtherと同じくらい速度が出るはず。
     →SSLのマスターシークレットやサーバ証明書をTrusted Secure IPで保護した状態でSSL通信を維持できる
    ・ファームウェアのソースコードはGitHubに掲載予定
     →RX65N Envision Kitのときは純正コンパイラのみ対応でしたが、GCCとIARも対応できるようになりました。
      せっかくなので初期ファームウェアは、GCCで作ってみようと思います。
    ・Etherの回路(PHYチップやコネクタ等)を初期搭載
    ・SDカードスロットを初期搭載
    ・USB/シリアル変換用チップをオンボード化
    ・ESP32を搭載(SSL証明書書き込み用のギミックも検討済み)
     →本当は村田製作所のチップ(Type 1DX)にしたかったがドライバソフトウェアのライセンスがクリアにならず断念(次々機種に向けて協議は続ける)
    ・インターシルのオーディオチップ(D2Audio)を搭載
     →D/A 2chはスルーホール行きを検討中
    ・RTCは空きパタンにVBATT含めギミックを後付けできるよう検討中
    (・カメラインタフェースもつけたかったけれど、マイコンの足が足りず断念)

    以上です
  • RX72M は楽しそうなチップですよね、RX65N Envision kit で、多少感じた点として。

    ・ピンを色々な機能にアサインしていくと、どうしても、A/D入力ピンが残ってしまうので、それを集中してどこかにまとめて出しておいたらいいかと思います。(電源、VREF、AVcc、AVssなども含めて)
    ※RXマイコンのA/Dは変換は精度が高く、SNも良いので、2Mサンプル、2チャネルくらいのデジタルストレージオシロが作れると思っています。(RX65Nで簡単な実験をしました)

    ・これだけ機能をアサインすると、残らないかもしれませんが、I2C のピンが外部に出ていればと思います。
    ※やはり、加速度センサやジャイロ、距離センサなど、I2C接続のデバイスを気軽に接続出来ると便利だと思います。

    ・同じ理由で、SPI も・・(元々RSPIはチャネルが少ないので、より難しいかもしれない)
    ※SCIのSPIは、クロックのスピードがイマイチ上がらないので

    ESP32は安価で機能豊富ですが、電流を多く消費するようなので、そこが少し気になります。
    ※bluetooth なども乗っているので、他に選択枠は無いとも思えます。

    あと、興味として、WiFiモジュールでは、どれが、もっとも性能が高いのでしょうか?
    ・ESP32
    ・マイクロチップATWINC-1500 など
    ・Type 1DX(ライセンス問題で使えないのは非常に残念ですね・・・)
    ※他にも色々あるようですが・・

    ※WiFiモジュールくらいは、後から手ハンダで載せられると思うので、初期からインストールされていなくても良いのではと個人的には思います。
    これは、インサーネットのコネクタもそうです。

    楽しみです。
  • hirakuni45さん

    こんにちは、シェルティです。

    貴重なコメントありがとうございます。さっそくボードの設計者にフィードバックしておきます。

    ・A/Dピン承知です。余った分まとめてどこかに出せないか考えます。
     デジタルオシロについてはhirakuni45さんのブログで確認させていただきました。
     ブログ更新いつも楽しみにしております。
    ・I2Cは私も欲しいですね。
     PMODコネクタにSCIを配線してあるので、それをI2Cモードで使うことも可能ですが
     ピンが余ったらこれもスルーホールに出しておきます。
    ・RSPIは専用にどこかスルーホールに出したいですね。
     PMODに繋いであるSCIのSPIモードはご指摘通りちょっと遅いです。
    ・ESP32は正直なところ妥協の選択肢(ネットに繋がれば良いというもの)ですね。
     「インターネットに無線で繋がっている」ということを見せたいだけでシステムとしてはいまいちです。
    ・無線LANの性能はホスト-無線LANモジュール分離タイプでは、圧倒的にType 1DXです。
     というのはホストインタフェースがSDIO(物理層で200Mbps)だからです。
     他はUARTなので頑張って3Mbpsとかです。
    ・無線LAN機能がマイコンに取り込まれている場合(マイクロチップATWINC-1500 など)はSDIO無線LANモジュールを使う場合と同等と思います。
    ・ESP32を単体で使う場合も(ESP32内部のファームウェアをゴリゴリ改造する)SDIO無線LANモジュールを使う場合と同等になるのではと思います。
    ・ESP32等のマイコン内蔵の無線LANモジュールの外側にさらにマイコンをUARTで繋ぐ場合は性能が落ちます

    ・Type 1DXは単体でオリジナルボードに載せると技適取得が面倒なので、
     Type 1DX搭載で技適取得済みの以下製品が繋がるよう、
     Envision Kitの3弾目があるとしたらM.2 コネクタだけ実装しようと考えてます
     www.mouser.jp/.../

     それから、インターネット接続の仕組みにおいては、OSI参照モデルを改めて認識しなおすのがよいですね。
     以下シェルティのAmazon FreeRTOSポーティングメモですが、参考になると思います。
     github.com/.../readme.txt

     Type 1DXの場合はpattern3で物理層までが無線LANモジュールでサポートされており、
     pattern2のEtherと同じようにマイコン側でTCP/IPとSSLの処理を行います。
     一方で、pattern1のように無線LANモジュール側でTCP/IPとSSLの処理を行う実装もできます。
     こうすると、マイコン側でTCP/IPとSSLの実装ができるポテンシャルのある100MHz級のマイコンだと、
     システム構成が最適になりません。結果、量産コストにのった無駄な単価がN倍化され、
     量産すればするほど利益が削り取られていきます。
     ESP32は単体で使ったり、少量多品種生産でマイコンと繋ぐ場合は良いですが、
     何らかのホストマイコンに繋いだシステムを大量生産する場合量産コストが不利になると考えてます。
     #この不利を凌ぐ勢いで、どんどん安い製品が出てくるので戦々恐々ではありますが。

     実際、洗練されたシステムのうち、インターネットに現在繋がることができて大量に流通している製品、
     たとえばiPhoneとかRaspberry Piなどは、ホストSoCと無線LANモジュール間はSDIOになってます。
     これらは500MHz級以上のCPUにLinux級のOSを載せてインターネット接続していますが、
     Amazon FreeRTOSの登場によりインターネット接続が100MHz級(もっと下のレンジにも)のCPUにも
     波及していくことを予想しております。

     また、昨今は、システムの基点となるCPUにセキュリティ機能を実装してRoot of Trustとすることが
     求められるようになってきております。Root of Trustというと伝わりづらいかと思いますが、
     システム起動時にファームウェアの正当性検証を行うこと、正当性検証を行うソフトウェアコードにリセットベクタを抱えさせmmutable(不変)にすることが主要要件です。
     今後、マイコンを使った組み込みシステムも、ソフトウェアアップデートが標準的に搭載されることになります。総務省のガイドラインにも書いてあります。
     www.soumu.go.jp/.../000428393.pdf

     このあたりリーズナブルに実装しようとすると、現状はSDカードに新ファームウェアを入れて
     サービスマンが現地にいってファームウェアを書き換える、のが現状ですが、近々インターネット経由での
     ファームウェアアップデートが主流になっていくことでしょう。

     このとき、UART接続の無線モジュールだとなかなか辛いでしょうね。
     なので、性能が出て量産コストも有利にできるSDIO無線LANモジュールに私は目を付けております。
     無線通信については将来はモバイル回線直結のもの、具体的にはLTEやNB-IoTが主流になっていくと
     予想しており、この方面からも検討を進めています。
     SIMカードをSoCに組み込み可能なArm社のKigen Sim Solutionというのがすごいです。
     www.arm.com/.../kigen-sim

     通信についてはざっとこんなところでしょうか。
     疑問点などありましたら、できる範囲でお答えします。

    ※WIFIモジュールやコネクタ等の部品ですが、拡販する上で部品非搭載だと難儀なことが多かったので
     やっぱり、できる限りつけることにしました。

    以上です
  • 12ビットD/Aでも十分な音質なのですが、それでは不満な人もいると思います。
    SSIEが使えるのなら、外部に高音質のD/Aなりを接続可能なのだと思います。
    ピンだけでも出ていたらと思います。

    あと、3.7Vのリチウムイオン電池を接続して、昇圧、充電管理ができると、スタンドアロンで動かせて便利と思います。
    ※外部に接続するにしても、バッテリーの電圧監視や、電源ON/OFFなど、色々繋ぐ必要がありますし・・

    まぁ、何でもかんでも突っ込める訳では無いのですが・・・