エンジニアの電気屋さん

現役エンジニアが電気のトピックについて現物交えてご紹介します。

どうもミソジです。
今回は社会人のための自己啓発の記事として「社会人としての必要な力が付く!気軽に読めるおススメ雑誌を紹介します

まだ社会人歴10年も達していない筆者ですが、新人・若手~現在の中堅までに「やっておいてよかった」ことの一環を紹介してきたいと思います

目次
1.社会人として必要な力とは?
2.(社会人としての)力がある人とは?
3.(社会人としての)力がある人に聞いてみた
4.理解することをやめない
5.とは言っても、仕事中に全て理解するのは難しい
6.通勤・休みの隙間時間に落ち着いて理解してみる
7.考えるツールとして本・雑誌を使ってみる
8.おススメ雑誌「日経ビジネスアソシエ」
9.スマホ・タブレットで隙間時間に見れる
10.Kindle Unlimitedならば1年分まとめて読める
11.まとめ・感想

1.社会人として必要な力とは?
figure_question
はい、
正直なところ筆者もまだよく分かっていません。(そんな中でこんな記事作成して、申し訳ないです…)

そもそも本当に社会人に求められる力とは何なのでしょうか?「コミュ力」?「協調性」?「プレゼンテーション力」?と挙げていけばいくらでもあると思います…。


まぁ正直なところ「社会人として必要な力」を社会人全員が身につけていれば…
「会議・打ち合わせで議論の内容が脱線する」、
「チーム内の方向性が定まっておらずプロジェクトの後戻りが発生する」

よく
ありがちな失敗例が綺麗に無くなると思います。


しかし、筆者の会社の職場を見ても(筆者含めて)よく失敗しています。どこの職場を見てもそうではないでしょうか?

「社会人として必要な力」が十分にある人は少なく、また逆に数少ないですがしっかり理解している人が
職場でのエース・中枢のメンバーになっているのが現状と思います。

2.(社会人としての)力がある人とは?
business_tayoreru_man (1)
では力がある人とは誰になるかというと、多くの人だと「上司」になるケースが多いのではないでしょうか。(上司が無能・できない方はごめんなさい…)

やはり筆者の上司を見ても、「人に指示するときの説明」「開発・企画打ち合わせ時の発言」と何をさせても上手いです。

悔しいですが筆者と比べて上司は「社会人としての底力」が圧倒的に上です。(まぁ、たまに要らないカチンとくる一言・指摘があるのはご愛嬌だと思いますが)

限られた人材・予算でチーム・部署を回して無理と呼べるような納期を順守して、さらに頭の固い「上の上の上司」どもを納得させる仕事を何十年もやっているので上司はそこらの社員とは経験値が違います。



「スポンサーリンク」

3.(社会人としての)力がある人に聞いてみた
筆者はエンジニアで設計・開発して終わりではなく、その結果を他人(上司)に承認をもらって初めて成果になります。承認をもらう場が会議(レビュー)・打ち合わせの場になるケースが多いです。

そのとき、たまに(筆者もですが)会議で全くよく分からない説明する奴がいます。(まぁエンジニアなんて説明が難しくなるのは仕方がないといえば仕方がないのですが…)。

こういう場は本当に眠くなります。
kaigi_inemuri

しかしチームのほとんどが「???」となる中、上司だけは説明内容を「的確に理解」して「的確に指摘」します。経験値の差もあるはずですが、上司も初めて聞く説明ですので条件は同じなのに「なぜこんなに差が付く」のか一度直接聞きました。そしたら・・・上司のコメントは

「理解しようとしているから」そして「分からない箇所あったら、そこで止めて聞くから」と単純の答えでした。


4.理解することをやめない
まぁ後者の「分からない箇所があったら、そこで止めて聞く」は上司特権だと思います。
全員がそれをしていたら会議・打ち合わせが進まなくなります。

※新人の皆様は分からない箇所がありましたらメモして後でググるなりして調べて、そして自分で考えて分からない箇所のみを先輩・上司に聞いた方がいいでしょう。

(都度聞いていたら先輩・上司に煙たがられるので注意しましょう。というか上記行動をとれる新人は大体優秀な奴が多いです。)

やはり重要な「社会人としての必要な力」のベースになるのは「理解すること」に尽きます。

分からなかったことを一つ一つ自分の腹に落とし込んでいくことで、社会人としての力が徐々に備わっていくのでは?と考えています
kangaeruhito



5.とは言っても、仕事中に全て理解するのは難しい
「何当たり前のこと言ってるんだ?」と思われる方も多いと思いますが、意外にこれが難しいです。社会人となると1日の仕事量が圧倒的なタスクとなり自分が理解しようとしなくても、次々に仕事をこなす必要があります。
isogashii_hakui_man

例えば下記のような例です

・プレゼンするにも内容を理解して(考えて)説明するのとしないのでは聞き手の分かりやすさに大きな差がでます。

・会議の内容は考えて聞かず、「ぼーっと聞いているだけ or 他事(内職)をしている」では何も理解できませんし、適切な指摘もできません。

しかし特に新人・若手の頃は雑務も多く、すべてのことを一から理解している暇もなく1日が終わってしまうと思います

6.通勤・休みの隙間時間に落ち着いて理解してみる
となると何時理解すればいいのか?という話になりますが、ほんの15分だけでもいいので通勤・休み等に時間を作るのが一番かと筆者は思います。
yoga_meisou_man
仕事中は「意味が分からん?」と思っていたことも、仕事外にリラックスして気楽に考えてみることで意外に「すっと腹に落ちる」時が良くあります。やはり仕事中ですと1分1秒に追われていますので落ち着いて理解することが難しいです。

貴重な休日の1日全てを使う必要はありません。(むしろそう意気込むとだいたい失敗します)。僅かな時間でも「今週を振り返る・次週に繋げる」時間を作るのが重要だと思います


7.考えるツールとして本・雑誌を使ってみる
book_hirameki_keihatsu_man
分からなかったことを理解するにあたって、いきなり土日に考え始めても大分苦しいかと思います。
(多分考えて5分ぐらいで大体脱線・あきらめているかと思います)

ではどうするかというと、一番な簡単の方法は「本・雑誌」を使うことですね。

現在分からないことに関する本・参考書があれば一番ベストだと思いますが、それに少しでも関連することであれば何でも構わないと思います。(本当に困っていることならば、なかなかピンポイントで解決する本・参考書がなかなか無いです)

「本・雑誌」はあくまでツールであり読むことが目的ではありません。

外部から情報を取り入れ、自分の考えを刺激・リフレッシュすることが目的です。

今まで分からなかった物事に関連する参考書・自己啓発本を探して直接難しい答えを探しに行くのではなく、一度リラックスして気楽に一歩ずつ理解を進めるのも大事だと思います。

8.おススメ雑誌「日経ビジネスアソシエ」
筆者がおススメしたい雑誌は「日経ビジネスアソシエ」です。

毎月発行されているビジネス雑誌で、本でも電子書籍でも買えます。
「日経」でビジネス雑誌となるとなんか固いような難しいような印象があるかもしれませんが、結構気楽に読めます。そして面白いです。

技術的なことからお金のことまで幅広い雑誌となり、様々な情報が入ってきます。

そして内容が実務的で、何かしら自分の周りで起きていることに活かせる内容が多いです


やはり雑誌は本・参考書に対して情報量が落ちますが、気楽に読めるという点では一番かと思います。

9.スマホ・タブレットで隙間時間に見れる
やはり日経ビジネスアソシエのいいところとしては電子書籍(Kindle)に対応していということです。
sDVC00002 (2).jpg

上記のようにスマホで読むことができ隙間時間に読むことができます。

雑誌と比べて「購入しても嵩張らない」、「通勤の際に持ち運びが便利」など電子書籍(Kindle)の方が便利な点が多いかと思います

10.Kindle Unlimitedならば1年分まとめて読める
さらに日経ビジネスアソシエのいいところはKindle Unlimitedでバックナンバーを約1年分読めます
日経ビジネスアソシエ 2017年 12月号 [雑誌]
日経ビジネスアソシエ 2018年 1月号 [雑誌]日経ビジネスアソシエ 2018年 2月号 [雑誌]
日経ビジネスアソシエ 2018年 3月号 [雑誌]日経ビジネスアソシエ 2018年 4月号 [雑誌]日経ビジネスアソシエ 2018年5月号 [雑誌]

日経ビジネスアソシエは月ごとでメインのトピックが「お金」「出世」「働き方」などと異なっています。最新号でないバックナンバーも読むことで様々な種類の情報を取り入れることで、社会人としての力も上がっていくと思います。


特に「まだ一度もKindle Unlimitedを登録していない方」は1か月無料で体験して読むことができます。つまり1年分のバックナンバーをタダで読めます。


正直合わなかったら1か月の間に退会すればいいだけですので、一度登録してみてはいかかでしょうか。通勤・土日の隙間時間が充実します

11.まとめ・感想
筆者もサラリーマン(エンジニア)を10年足らずやっていますが、やはり「理解しよう」とする気持ちを新人・若手時代に(おそらく少しですが)持って行動していたのは今の自分の財産になっていると日々感じます。

やはり「社会人としての力」は一朝一夕で身に付くものでなく日々の積み重ねで力を付けていくことになると考えています。

特に新人・若手の方は目の前の業務で手一杯になりがちですが、隙間時間でいいので一度頭をリフレッシュして「理解する」ことを継続していけば

必ず一つ一つの物事が分かっていき社会人としての力」が備わっていきます。

「理解する」の手段で今回筆者が紹介した「本・雑誌を読む」あくまで一例でそれ以外にも各自に合った方法がいろいろあると思いますのが、一番簡単で楽な手段ですので何をするかで迷ったら一度試してもらえれば幸いです

今日はここまでにしたいと思います
ありがとうございました。




どうもミソジです。
今回は筆者が持っているラズベリーパイとI2C複数デバイスをつなげてアナライザを使い「I2Cで複数スレーブ接続の波形を見てみた」を紹介します

CPUは1本のI2Cで複数デバイス接続している際でもしっかり何処にデバイスがあるか見つけてくれます。実際にどうやっているかをアナライザで確認してみました


目次
1.ラズベリーパイとI2Cデバイスを複数つなげてみる
2.i2cdetectが何を行っているのか確認する
3.隣接するアドレス間の周期を確認してみる
4.離れたアドレス間の周期を確認してみる
5.まとめ・感想

1.ラズベリーパイとI2Cデバイスを複数つなげてみる
環境構築は前回記事と同じになります。詳細はこちらをご確認ください
実際につなげた写真がこちらとなります。
「ラズベリーパイ」「I2Cデバイスを2つ(EEPROMと加速度センサ)」接続しています
sP_20180512_095551.jpg

回路図的には下記の形になります。「3.3V」「GND」「SDA」「SCL」ブレッドボードにジャンパー接続するだけで簡単に可能です。
※ラズベリーパイのGPIOピン配置は新しい型に合わせています
i2c100.PNG 

そしてラズベリーパイを設定・起動してI2C先にデバイスがいるか「i2cdetect」のコマンドで確認できます。
赤字の50,58がEEPROM青字の68が加速度センサのアドレスになります
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi@raspberrypi ~ $ sudo i2cdetect -r -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- 58 -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

そしてアナライザをSCL、SDAの箇所に接続して「i2cdetect」しているときの波形を確認します。
sP_20180401_135924.jpg

2.i2cdetectが何を行っているのか確認する
それではi2cdetectで実際どのようにしてデバイスを検知しているのかを確認してみました

i2cdetectのコマンドのデフォルトでは0x03~0x77のアドレスにすべてRead命令してACKが返ってきたものに関してデバイスがあると認識しているようです。
i2c108.PNG
上記のように「0x1*」で各ブロックになっています


「スポンサーリンク」

3.隣接するアドレス間の周期を確認してみる
今回はI2CのクロックのSCLは100kbps(100kHz)ですので1周期10μsになっていることが波形からも分かります
i2c103.PNG


i2cdetectでの各アドレス間の周期はどうなっているのか確認してみます
まず連続でデータを取りにいっている0x20~0x2Fのアドレス周辺の周期を見てみました
i2c110.PNG

5周期ほど確認しましたが結果は「290us,264us,221us,217us,230us」と一定ではありませんでした。
ラズベリーパイ内(Linux)でのデータのやり取り時間があるのですかね?もし今度機会があればRTOSでも確認してみたいと思います
i2c109.PNG


4.離れたアドレス間の周期を確認してみる
あと離れたアドレスのブロックごとの周期を確認してみました。
下記のように「0x2*」~[0x3*]などの各ブロック周期を見てきます
i2c108.PNG

こちらも5周期ほど確認しましたが、やはりこちらも「963us,797us,804us,822us,809us」とバラつきが多くありました。
i2c111.PNG


5.まとめ・感想
「I2Cは指定の周期でほぼずれなくデータやり取りしているんだろうな」と考えていましたがいざ実際に測定してみると、意外にバラつきなどがあり新たな発見でした。

データシート見て確認するのもいいですが、やはり実物の波形見て今一度現実と認識のずれを把握する重要ですね

今日はここまでにしたいと思います
どうもありがとうございました


1000円足らずでアナライザが購入できます
HiLetgo 24MHz 8チャンネル USBロジックアナライザ 8CHロジックアナライザ UART IIC SPI デバッグ MCU FPGA ARMに対応 [並行輸入品]
HiLetgo






ラズベリーパイで簡単にI2C通信ができます。

EEPROMの詳細は下記となります。

どうもミソジです。
今回は筆者が持っているラズベリーパイとI2Cデバイスをつなげてアナライザを使いI2CのACKとNACKの波形を見てみる」を紹介します

簡単にI2C通信でのACK,NACKを確認するまでの手順を紹介しています。
「自分でI2Cを色々解析してみたい!」という方におススメな記事となっています

目次
1.ラズベリーパイとI2Cデバイスをつなげてみる
2.アナライザを用意する
3.アナライザを使ってI2Cの波形を確認する
4.I2Cの解析してACK/NACKを見てみる
5.まとめ・感想

1.ラズベリーパイとI2Cデバイスをつなげてみる
まずはI2C通信の環境をラズベリーパイを使って作っていきます
ラズベリーパイでのI2Cの動かし方は既に先人たちにより多くの記事がありますので省略したいと思います。「ラズベリーパイ I2C」とググれば多くの参考になる記事がありますので、そちらを参考にしてください

実際につなげた写真がこちらとなります。
「ラズベリーパイ」「I2Cデバイスを2つ(EEPROMと加速度センサ)」接続しています
sP_20180512_095551.jpg

筆者のは少し型が古いラズベリーパイですが、I2Cをつなぐのは新旧ともに簡単にできます。

EEPROMの詳細は下記となります。
EasyWordMall AT24C256 I2C インターフェースEEPROMメモリモジュール
Apple Trees E-commerce co., LT






加速度センサの詳細は下記となります







回路図的には下記の形になります。「3.3V」「GND」「SDA」「SCL」ブレッドボードにジャンパー接続するだけで簡単に可能です。
※ラズベリーパイのGPIOピン配置は新しい型に合わせています
i2c100.PNG

そしてラズベリーパイを設定・起動してI2C先にデバイスがいるかを確認してみましょう
「i2cdetect」のコマンドで確認できました。
赤字の50,58がEEPROM青字の68が加速度センサのアドレスになります

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi@raspberrypi ~ $ sudo i2cdetect -r -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- 58 -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


アナライザを使って波形を確認したのを次章から紹介してきたいと思います

2.アナライザを用意する
I2Cの波形を見たいと思いますが、今回はACKとNACKを見ますのでアナライザを使って確認していきます。最近はI2CやSPIなど数MHz,数十MHz程度の解析するアナライザが1000円足らずで買えます。

筆者は色々触りたかったのでモジュール化されていないアナライザの開発ボードを買いました。(値段は一番安く多くのピンで遊べますが、EEPROMなどの設定が必要ですのでマイコン初心者は少し難しいかもしれません)
sP_20171104_120005.jpg

本当にマイコン(サイプレス製CY7C68013A)が載っているだけのボードです。PCとUSB経由で接続して解析することができます。詳細は下記になります
MiniUSBケーブルとジャンパーワイヤは別で購入が必要です



但し数百円の差ですので下記のようなモジュールになっているアナライザを買った方が直ぐに測定できて楽できるかと思います。PCとUSB接続してI2C,UART,SPIなど多くの通信を解析できます。
USBケーブル、ジャンパーワイヤまで付いてきますので単に解析するだけならば筆者的には下記をおススメします





「スポンサーリンク」

3.アナライザを使ってI2Cの波形を確認する
アナライザをSCL、SDAの箇所に接続して「i2cdetect」しているときの波形を確認します。
実際行ったときの写真が下記です
sP_20180401_135924.jpg

回路ベースですと下記箇所「SDA」「SCL」をアナライザに繋げています。
i2c100.PNG

そして実際にとれた波形の一部が下記です。無事SDA、SCLの波形を取れました
i2c102.PNG

今回はI2CのクロックのSCLは100kbps(100kHz)ですので1周期10μsになっていることが波形からも分かります
i2c103.PNG


これでアナライザで無事波形取ることができました。

4.I2Cの解析してACK/NACKを見てみる
それではI2Cのデータの解析を行っていきます。解析する設定をI2Cに設定します
i2c101.PNG


解析設定するだけでI2Cのビット情報、そしてデータの「アドレス」「R/W」「ACK/NACK」が確認できました。
i2c104.PNG


これでACK,NACKが確認できるようになりました。
それではACK,NACK時のSDA,SCLの波形を確認していきたいと思います

先ほども記載しましたが、デバイスのアドレスがある箇所はi2cdetectで読み取れている(ACKが返ってきている)ということなので、今回の例では下記2例を見ていきたいと思います
①ACKが出てると思われるアドレス「50」
②NACKになっているアドレス「03」

赤字の50,58がEEPROM青字の68が加速度センサのアドレスになっています
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pi@raspberrypi ~ $ sudo i2cdetect -r -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- 58 -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

①ACKが出てると思われるアドレス「50」
狙い通りEEPROMから「ACK」が返ってきてデバイスがあることを確認できました。
i2c105.PNG

ACKの箇所のアップが下記となります。
Readの後にデバイス側からSDAをLow(1⇒0)に出力していて、ACKが返ってきている形となっています
i2c106.PNG


②NACKが出ているアドレス「03」
やはり何もデバイスが無いためReadしても何も反応がなくNACKと判断しています
i2c104.PNG

NACK箇所のアップは下記となります。
Read後にデバイス側から何も出力がされずHi(1)のままとなっておりNACKという形になっています
i2c107.PNG


5.まとめ・感想
どうでしたでしょうか、最近では1000円足らずでI2Cを測定・解析することができます。
今回はi2cdetect時のACKとNACKに焦点を当てていましたが、応用すればR/W時のI2Cのスタートからストップまでのデータも詳細に確認できます。

データシート見て確認するのもいいですが、やはり実物の波形見ることでよりI2Cの理解が深まると思います。よろしければ皆様もアナライザを購入して確認してみてください

今日はここまでにしたいと思います
どうもありがとうございました


1000円足らずでアナライザが購入できます
HiLetgo 24MHz 8チャンネル USBロジックアナライザ 8CHロジックアナライザ UART IIC SPI デバッグ MCU FPGA ARMに対応 [並行輸入品]
HiLetgo






ラズベリーパイで簡単にI2C通信ができます。

EEPROMの詳細は下記となります。

↑このページのトップヘ