JP6138666B2 - In-vehicle control system logging system - Google Patents

In-vehicle control system logging system Download PDF

Info

Publication number
JP6138666B2
JP6138666B2 JP2013233619A JP2013233619A JP6138666B2 JP 6138666 B2 JP6138666 B2 JP 6138666B2 JP 2013233619 A JP2013233619 A JP 2013233619A JP 2013233619 A JP2013233619 A JP 2013233619A JP 6138666 B2 JP6138666 B2 JP 6138666B2
Authority
JP
Japan
Prior art keywords
cpu
logging
output
vehicle
shift register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013233619A
Other languages
Japanese (ja)
Other versions
JP2015095061A (en
Inventor
三宅 淳司
淳司 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2013233619A priority Critical patent/JP6138666B2/en
Publication of JP2015095061A publication Critical patent/JP2015095061A/en
Application granted granted Critical
Publication of JP6138666B2 publication Critical patent/JP6138666B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、車載ソフトウェアの動作ログを収集するロギングシステムに関する。   The present invention relates to a logging system that collects operation logs of in-vehicle software.

近年車載用機能安全規格ISO26262が制定されるとともに、車載用機器に対する安全性・信頼性に対する要求の厳格化や国際規格への準拠の義務化が進展している。特に車載ソフトウェアに対しては、車の挙動の中核的特性を担うことともに、その全体的な(網羅的な)挙動解析の困難さから、新たな検証手法の登場が待たれている。   In recent years, in-vehicle functional safety standard ISO 26262 has been established, and stricter requirements for safety / reliability for in-vehicle devices and obligation to comply with international standards have been developed. Especially for in-vehicle software, it bears the core characteristics of car behavior, and the new (exhaustive) behavior analysis difficulty is waiting for the appearance of a new verification method.

また、昨今車載用電子機器(ECU:Electronic Control Unitと呼ばれる)が一つの車に複数台搭載されており、車載ネットワークを通じて相互に影響を及ぼしあって全体的な動作を実行している。したがって、当該車載ソフトウェアの検証は、単一CPUのときと比較して格段に難しくなっている。この状況は複数ECUを経済効果のために集約した統合化ECU(構成基盤の上に複数のCPUが搭載されている)もしくはマルチコアCPUを採用してコアごとに別々の処理を実行して性能を向上させたECUでも同じである。検証の難しさは、複数のCPU(もしくはコア)の挙動を同一時間軸上で並行に追跡する困難さに起因している。   In recent years, a plurality of in-vehicle electronic devices (referred to as electronic control units (ECUs)) are mounted on a single vehicle, and the entire operation is performed by affecting each other through the in-vehicle network. Therefore, verification of the in-vehicle software is much more difficult than when a single CPU is used. In this situation, an integrated ECU (multiple CPUs are mounted on the configuration base) that consolidates multiple ECUs for economic effect or a multi-core CPU is used to perform separate processing for each core to improve performance. The same applies to the improved ECU. The difficulty of verification is due to the difficulty of tracking the behavior of multiple CPUs (or cores) in parallel on the same time axis.

加えて製品の市場リリースは必ずしもソフトウェア検証の終了という確証に基づいて、それ以降に設定されるものではない。すると、量産段階において稀に不具合が組み込みソフトウェアに含まれ得る状態で出荷されるおそれもある。   In addition, the market release of a product is not necessarily set after that, based on the assurance that software verification has ended. Then, in the mass production stage, there is a possibility that defects are rarely included in the embedded software.

しかしながら、そのような稀頻度の不具合が発生したときに如何に乗員を保護するかは前述の機能安全の範疇であり、これを記録して次回の製品開発(差分開発による機能と信頼性の向上)に如何に活用するかは機能安全ライフサイクルの活動に関わる。この鍵を握っている手法は、ソフトウェア挙動のロギングシステムである。   However, how to protect occupants when such infrequent problems occur is within the category of functional safety described above, and this is recorded for the next product development (function and reliability improvement by differential development). ) Is related to activities in the functional safety life cycle. The key to this is a software behavior logging system.

外界の情報とそれに対応するソフトウェア挙動のロギングは人工衛星や探査衛星などの宇宙機で知られた手法であり車載応用の用途では一般化していない。しかしながら、前述の機能安全対応手法として、もしくはマルチコア・マルチCPUの検証手法の一つとして普及すると思われる。   Logging external information and the corresponding software behavior is a technique known for spacecraft such as artificial satellites and exploration satellites, and is not common in automotive applications. However, it is expected to become widespread as the functional safety support method described above or as one of verification methods for multi-core / multi-CPU.

その際、実現の決め手になるのはコスト上昇分と装置の付け外しの簡便さに左右されると思われる。前述の宇宙機の場合は、事故が発生したときの逸失利益を考慮すると、ロギングシステムを追加することのコストなどは微々たるものであろう。   At that time, the decisive factor in the realization will depend on the cost increase and the ease of attaching and detaching the device. In the case of the aforementioned spacecraft, the cost of adding a logging system will be negligible considering the lost profit when an accident occurs.

しかしながら自動車のような耐久消費財についてはできるだけコストが安いことと、オプションとして追加設定するときの接続機構の単純さが求められる。   However, for durable consumer goods such as automobiles, the cost is as low as possible, and the simplicity of the connection mechanism when it is additionally set as an option is required.

従来技術は、必ずしも車載機器応用では無いが、例えば特許文献1に示すように複数のCPUに対して高分解能の(高分解能として外挿演算可能な)時計1個を設置しておき統一的な時系列を考慮してログを採取する技術が知られている。   Although the prior art is not necessarily applied to in-vehicle devices, for example, as shown in Patent Document 1, a single high-resolution clock (which can be extrapolated as high resolution) is installed for a plurality of CPUs. A technique for collecting logs in consideration of time series is known.

特許第3391990号公報Japanese Patent No. 3391990

しかしながら、上記特許文献1では、複数のCPUがその動作ログを吐き出すエリアが共通RAMに設定されている。これはどういうことかというと、複数のCPUが共通RAMを介して互いの動作干渉を引き起こす可能性がある。また、異なるCPUが自分と関係の無い動作ログを書き換える可能性がある。   However, in Patent Document 1, an area where a plurality of CPUs discharge their operation logs is set in the common RAM. What this means is that multiple CPUs can cause interference with each other via a common RAM. Further, there is a possibility that a different CPU rewrites an operation log not related to itself.

機能安全にはソフトウェア・パーティショニングという概念が導入されていて、特定の不具合動作を起こす機構及び資源が他と隔離されており、不具合の影響が他に波及しないことが重要となる。この点から見て公知例のロギングシステムは落第であって、ロギングシステムを付加したためにパーティショニング機能が逸脱を引き起こしている。   The concept of software partitioning has been introduced for functional safety, and it is important that the mechanism and resources that cause a specific malfunction are isolated from each other, so that the effects of the malfunction do not spread to others. From this point of view, the known example of the logging system is unsatisfactory, and the addition of the logging system causes the partitioning function to deviate.

そこで、本発明は、アサーションイベントが発生した際のログを適切に記録することができつつも、パーティショニングを実現することを課題とする。
上記機能安全上のパーティショニングに関する課題、もしくは実装時に問題となる機器接続の課題を解決するためになされたものである。
Therefore, an object of the present invention is to realize partitioning while being able to appropriately record a log when an assertion event occurs.
The present invention has been made to solve the above-mentioned problems related to functional safety partitioning or the problem of device connection that becomes a problem at the time of mounting.

本発明は、互いに関連する複数のCPUコアからのメッセージを統一的にロギングする車載用制御装置のロギングシステムであって、各CPUコアからのメッセージ出力は各CPUコア固有のシフトレジスタに入力されるとともに、該シフトレジスタに情報が格納された旨のイベント出力を各CPUコアから外部に出力し、前記シフトレジスタはそれぞれのCPU分のレジスタが直列に縦続接続されるとともに、前記イベント出力の複数の論理和によってロギング動作が励起され、クロック同期により前記複数のシフトレジスタの情報をシリアル通信にて一括して読み出し、読み出したログ情報を記憶装置に格納することを特徴とする。 The present invention is a logging system for an in-vehicle control device that uniformly logs messages from a plurality of CPU cores related to each other, and a message output from each CPU core is input to a shift register unique to each CPU core. In addition, an event output indicating that information is stored in the shift register is output from each CPU core to the outside, and the shift register includes a plurality of CPU registers connected in series, and a plurality of event outputs. A logging operation is excited by logical sum, information of the plurality of shift registers is collectively read by serial communication by clock synchronization, and the read log information is stored in a storage device.

本発明に係るロギングシステムによれば、複数のCPU及びロギング装置間をシリアルバスで接続しているため、特定のCPUが別のCPUの資源(別体であるロギング装置自体の資源も含めて)にアクセスすることができず、干渉することがない。従って、アサーションイベントが発生した際のログを適切に記録することができつつも、パーティショニングを実現することができる。   According to the logging system of the present invention, since a plurality of CPUs and logging devices are connected by a serial bus, a specific CPU has resources of another CPU (including resources of a separate logging device itself). Cannot access and will not interfere. Therefore, the partitioning can be realized while the log when the assertion event occurs can be appropriately recorded.

実施形態1に係るロギングシステムの構成図である。1 is a configuration diagram of a logging system according to Embodiment 1. FIG. 実施形態1に係るログメッセージの出力内容を示すプログラムリストである。3 is a program list showing output contents of a log message according to the first embodiment. 実施形態1に係るCPUの内部機構を示すブロック図である。FIG. 3 is a block diagram illustrating an internal mechanism of a CPU according to the first embodiment. 実施形態2に係るCPUの内部機構を示すブロック図である。It is a block diagram which shows the internal mechanism of CPU which concerns on Embodiment 2. 実施形態1および2に係る複数CPU間の外部配線およびロギング装置間の配線を示す接続図である。FIG. 3 is a connection diagram illustrating external wiring between a plurality of CPUs and wiring between logging devices according to the first and second embodiments. 実施形態1および2に係るロギング装置の内部機構を示すブロック図である。3 is a block diagram illustrating an internal mechanism of a logging device according to Embodiments 1 and 2. FIG. ロギング装置の内部動作手順を示すフローチャートである。It is a flowchart which shows the internal operation | movement procedure of a logging apparatus.

<実施の形態1>
本実施形態に係るロギングシステムは、CPUからのログメッセージを格納するレジスタをシフトレジスタとして構成し、複数のCPUで該複数のシフトレジスタを縦列接続してシリアルバスを構成し、メッセージの一括ダンプを行うものである。一括ダンプのタイミングは少なくとも一つ以上のCPUがログメッセージを該シフトレジスタに書き込んだイベントタイミングの論理和で行われ、そのときにメッセージに押下されるタイムスタンプは、ロギングシステム側に設置された唯一の時計により行われる。以下に具体的に説明する。
<Embodiment 1>
In the logging system according to the present embodiment, a register for storing a log message from a CPU is configured as a shift register, a plurality of shift registers are connected in cascade by a plurality of CPUs to configure a serial bus, and a batch dump of messages is performed. Is what you do. The batch dump timing is the logical sum of the event timings when at least one CPU wrote the log message to the shift register, and the time stamp pressed on the message is the only one installed on the logging system side. It is done by the clock. This will be specifically described below.

図1は、本発明の実施例の一つを図示したものである。CPU110・120(もしくはCPUコア111・121)は、図1では2組存在しているが、2組に限ることなく3組以上存在しても良い。   FIG. 1 illustrates one embodiment of the present invention. Although two sets of CPUs 110 and 120 (or CPU cores 111 and 121) exist in FIG. 1, the number is not limited to two, and three or more sets may exist.

各CPUのメッセージ送出用に用いるシフトレジスタ112・122は、直列に縦列接続され同一クロックでシフト動作を行うように構成される。シリアル接続すなわちシリアルバスを用いているので、操作の主体はバスマスタたる(クロック源142を供給する)ロギング装置140にあり、特定のCPUが他のCPUもしくはロギング装置の動作に干渉することはできない。したがって機能安全上のソフトウェア・パーテショニングは完全に確保されることになる。   The shift registers 112 and 122 used for sending messages of each CPU are connected in series in series and are configured to perform a shift operation with the same clock. Since a serial connection, that is, a serial bus is used, the main subject of operation is the logging device 140 (which supplies the clock source 142) as a bus master, and a specific CPU cannot interfere with the operation of other CPUs or logging devices. Therefore, software partitioning for functional safety is completely secured.

また、ロギングすべき対象のCPUが増加しても、直列接続のシフトレジスタの数が増えるだけで、一括ダンプの方法は統一的なものが使える。(発信機142から出すパルス数と、シリアル・パラレル変換器145の段数およびイベント論理和回路130の入力数は変化するが、アルゴリズムの本質は変わりない。)
CPUコア111・121は、ログ情報をシフトレジスタ112・122に書くのと同じタイミングでイベント出力113・123を発生させる。この信号は、シフレジスタにログとして意味のあるデータが格納されているので、ロギング装置140に記録を促すオンデマンド信号となる。これらの信号は論理和回路130で論理和が取られロギング装置140に伝えられる。
Also, even if the number of CPUs to be logged increases, the unified dump method can be used only by increasing the number of serially connected shift registers. (The number of pulses output from the transmitter 142, the number of stages of the serial / parallel converter 145, and the number of inputs of the event OR circuit 130 change, but the essence of the algorithm does not change.)
The CPU cores 111 and 121 generate event outputs 113 and 123 at the same timing as writing log information to the shift registers 112 and 122, respectively. This signal is an on-demand signal that prompts the logging device 140 to record because meaningful data is stored as a log in the shift register. These signals are ORed by the OR circuit 130 and transmitted to the logging device 140.

すなわち少なくとも一つのログ情報がシフトレジスタに準備された時に一括シリアルダンプが実行されるのであって、ログ情報が出力されていないシフトレジスタからの情報は、後で判別可能な無効な初期値データとなる。   That is, when at least one log information is prepared in the shift register, a batch serial dump is executed, and information from the shift register for which no log information is output includes invalid initial value data that can be discriminated later. Become.

この初期値データはシフトレジスタ初期化データ部143が発生させ、予め全てのシフトレジスタに格納されていたものである。この初期値格納の仕組みは、前述の一括シリアルダンプの動作が逐次実行される間に、シフト動作により空いたビットの隙間を埋めるようにシフトアウトの反対桁より該初期値が格納され、シリアルダンプが完了したときにはシフトレジスタの全桁が自動的に初期化される機構による。   This initial value data is generated by the shift register initialization data unit 143 and stored in advance in all shift registers. This initial value storage mechanism is based on the fact that the initial value is stored from the opposite digit of the shift-out so as to fill the gaps in the bits vacated by the shift operation while the batch serial dump operation described above is executed sequentially. When the process is completed, all the digits of the shift register are automatically initialized.

したがって、ログデータは、少なくとも一つのCPUメッセージの桁(151参照)に有効なデータが入っており、残りのCPUの桁は無効か、同時にログタイミングが重なった場合、複数のCPU桁に有効データが入っているかの複数のバリエーションが発生することになる。何れにせよ、ログタイミングが発生した時系列順で確実にデータが収集され、時間の前後関係で矛盾が発生しないことはこの仕組みから自明となる。   Accordingly, when the log data contains valid data in at least one CPU message digit (see 151) and the remaining CPU digits are invalid or the log timing overlaps at the same time, valid data in a plurality of CPU digits. Multiple variations of whether or not is included will occur. In any case, it is obvious from this mechanism that data is reliably collected in the time-series order in which log timings occur and no contradiction occurs in the context of time.

ロギング装置140は、前述のとおり複数のシフトレジスタに格納されたメッセージをシリアルバス経由で読み出し、シリアル・パラレル変換器145にてキャラクタデータに変換する。その際、タイマー144によってオンデマンド信号(イベント論理和130の出力信号)が発生したときのタイムスタンプを前述のデータとともに格納する。これにより、該タイムスタンプを目印として時系列順にログを追跡し解釈することが容易となる。   As described above, the logging device 140 reads the messages stored in the plurality of shift registers via the serial bus, and converts them into character data by the serial / parallel converter 145. At that time, the time stamp when the on-demand signal (the output signal of the event logical sum 130) is generated by the timer 144 is stored together with the above-mentioned data. This makes it easy to track and interpret the log in chronological order using the time stamp as a landmark.

図2は、各CPUが実行する組み込みソフトウェアソースコード200の実例を示したものである。この中に異常があればログを取りたい条件をアサーション命令として埋め込んでおく。例えばアサーション命令201は、アサーションの一例であって、整数割り算の除数が0であるか、商がオーバフローしそうな時にassert関数のカッコ内の条件式が偽となる。このときassert関数は、シフトレジスタ112もしくは122にメッセージを書き込み、該当CPUのイベント出力端子113・123によりロギング装置140に読み出しを要求するよう関数ライブラリを構成しておく。   FIG. 2 shows an example of the embedded software source code 200 executed by each CPU. If there is an abnormality in this, the condition for logging is embedded as an assertion instruction. For example, the assertion instruction 201 is an example of an assertion, and the conditional expression in parentheses of the assert function becomes false when the integer division divisor is 0 or the quotient is likely to overflow. At this time, the assert function writes a message to the shift register 112 or 122 and configures a function library so that the event output terminals 113 and 123 of the corresponding CPU request the logging device 140 to read out.

アサーションログ210は、ロギング装置140が保存した情報の一例であって、その中でアサーション命令201によりログダンプが発生したときの記録(複数CPUに対して一括採集されタイムスタンプが押される)を211に、またその中でアサーション命令201のみに起因する情報を212に示す。   The assertion log 210 is an example of information stored by the logging device 140, and a record when a log dump is generated by the assertion command 201 (collected for a plurality of CPUs and pressed with a time stamp) is set to 211. In addition, information resulting from only the assertion instruction 201 is shown at 212.

アサーションメッセージ212では、一例としてアサーション命令で偽となったときの条件式、そのプログラムファイル名、行番号を出力してソフトウェア不具合を特定しやすいようにしている。図中“(time_stamp)”はロギング装置140が付加したタイムスタンプ値であり、“CPU_A”,“CPU_B”もどちらのCPUが発したログメッセージかわかり易くするためロギング装置140が付加した目印である。   In the assertion message 212, as an example, a conditional expression, a program file name, and a line number when it becomes false by an assertion instruction is output so that a software malfunction can be easily identified. In the figure, “(time_stamp)” is a time stamp value added by the logging device 140, and “CPU_A” and “CPU_B” are marks added by the logging device 140 to make it easy to understand which CPU has issued the log message.

図2では、“CPU_A”に対してアサーションが発生し、“CPU_B”に対して何もログイベントが発生していないので、“CPU_B”のメッセージは“none”となっている。   In FIG. 2, since an assertion has occurred for “CPU_A” and no log event has occurred for “CPU_B”, the message of “CPU_B” is “none”.

図3は、シフトレジスタ112・122をCPUの周辺デバイスの一つであるシリアル・ペリフェラル・インタフェース(SPI:Serial Peripheral Interface)で実現したものである。シリアル・ペリフェラル・インタフェースはクロック同期のシリアル通信に利用可能な汎用デバイスで、外部クロック源306に同期してシリアル入力304から外部データをシフトインし、シリアル出力305から内部データをシフトアウトすることができる。したがって、シフトレジスタのカスケード接続に適する。シリアル・ペリフェラル・インタフェースのシフトレジスタ112自体は内部バスを通じてCPUコア111よりデータを転送可能で、このデータを前述のアサーションログとすればよい。   In FIG. 3, the shift registers 112 and 122 are realized by a serial peripheral interface (SPI) which is one of peripheral devices of the CPU. The serial peripheral interface is a general-purpose device that can be used for clock-synchronized serial communication, and can shift in external data from the serial input 304 and shift out internal data from the serial output 305 in synchronization with the external clock source 306. it can. Therefore, it is suitable for cascade connection of shift registers. The serial peripheral interface shift register 112 itself can transfer data from the CPU core 111 through the internal bus, and this data may be used as the aforementioned assertion log.

図2の201で示すアサーション命令は図3ではプログラムメモリ(ROM)301の中に記述されていて(201の命令相当のマシン語が格納されているということ)アサーション条件が発生したときにそのメッセージをシフトレジスタ112に書き込むとともに、周辺I/Oデバイス303を通じてログダンプ要求をイベント出力端子113より外部出力する。イベント出力端子113も元からCPUに存在しているデジタル信号入出力307端子群の一つであるので本発明は現状のCPUで容易に実現可能である。
<実施の形態2>
図4は、本発明の別の実施形態を示したもので、シフトレジスタとしてJTAG(Joint Test Action Group)のオプションレジスタ112を利用したものである。
The assertion instruction 201 shown in FIG. 2 is described in the program memory (ROM) 301 in FIG. 3 (the machine language corresponding to the instruction 201 is stored), and the message when an assertion condition occurs is displayed. Is written to the shift register 112 and a log dump request is externally output from the event output terminal 113 through the peripheral I / O device 303. Since the event output terminal 113 is also one of the digital signal input / output 307 terminal groups originally existing in the CPU, the present invention can be easily realized with the current CPU.
<Embodiment 2>
FIG. 4 shows another embodiment of the present invention, in which an option register 112 of JTAG (Joint Test Action Group) is used as a shift register.

JTAGは、集積回路や基板の検査、デバッグなどに使える、バウンダリスキャンテストやテストアクセスポートの標準 IEEE 1149.1 の通称である。半導体技術の進歩により集積回路チップのピン間隔も狭くなりプローブを立てての検査が困難になってきている。表面実装のBGA(ball grid array)などのパッケージに至っては、物理的に不可能である。そのため検査時に、チップ内部の回路を数珠繋ぎにして内部状態を順番に読み出すしくみが考え出された。これをバウンダリスキャンテスト(Boundary Scan Test)といいそれを規格化したのがJTAGである。1990年にIEEE 1149.1として標準化されている。   JTAG is the common name of the standard IEEE 1149.1 for boundary scan test and test access port that can be used for inspection and debugging of integrated circuits and substrates. With advances in semiconductor technology, the pin spacing of integrated circuit chips has become narrower, making it difficult to perform inspections with probes. A package such as a surface mount BGA (ball grid array) is physically impossible. For this reason, a mechanism has been devised for reading out the internal state in sequence by connecting the circuits inside the chip in a row. This is called a Boundary Scan Test, and JTAG standardizes it. It was standardized as IEEE 1149.1 in 1990.

JTAGにはオプションレジスタというデバイス固有のレジスタが存在し、これを実装メーカが自由に機能拡張して使ってよいことになっている。これをシフトレジスタ112相当に用いれば本発明をJTAGの機能に沿った形で実現することができる。   JTAG has a device-specific register called an option register, which can be used by a mounting manufacturer with freely expanded functions. If this is used for the shift register 112, the present invention can be realized in the form of the JTAG function.

通常、JTAGのデバイスはCPUコア111と情報のやり取りができるような内部バス接続を行っていない。これはJTAGがICチップとプリント基板との電気的接続を検証する目的で使用されていることによる。   Normally, a JTAG device does not have an internal bus connection that can exchange information with the CPU core 111. This is because JTAG is used for the purpose of verifying the electrical connection between the IC chip and the printed circuit board.

ただし、JTAGをオンチップICE(In−circuit emulator)に拡張しているCPU実装メーカも存在しており、そのときにはCPU内部バスに接続してレジスタ値を読み書きしたり、制御メモリ(RAM)302の内容を読み書きしたりできるものもある。   However, some CPU mounting manufacturers have expanded JTAG to on-chip ICE (In-Circuit Emulator). At that time, it is connected to the CPU internal bus to read / write register values, or control memory (RAM) 302 Some can read and write content.

しかしその時においてもCPUコア111とJTAGデバイスとは本来無関係であって本発明向けに拡張するにはCPUコア111がシフトレジスタ(オプションレジスタ)112内容を操作可能のように改造しなければならない。   However, even at that time, the CPU core 111 and the JTAG device are essentially irrelevant, and the CPU core 111 must be modified so that the contents of the shift register (option register) 112 can be manipulated in order to expand for the present invention.

また、従来のJTAG・オンチップICEでは、CPUのファームウェアが定期的なバスタイミングでCPU周辺の変数データ(レジスタやRAM値)をJTAGの拡張レジスタに書き込むタイプのものがある。この場合にはCPU内部バスとJTAGとは既に接続されているので、CPUが実行するプログラミングモデルからJTAGレジスタを可視(操作可能)にするような命令語の拡張をするだけで済む。こうすることによってプログラムメモリ301に格納されたアサーション命令201の結果をアサーションメッセージ212としてJTAG経由で出力することができる。   Further, in the conventional JTAG / on-chip ICE, there is a type in which the CPU firmware writes variable data (registers and RAM values) around the CPU to the JTAG extension register at regular bus timing. In this case, since the CPU internal bus and the JTAG are already connected, it is only necessary to extend the instruction word so that the JTAG register is made visible (operable) from the programming model executed by the CPU. As a result, the result of the assertion instruction 201 stored in the program memory 301 can be output as an assertion message 212 via JTAG.

シフトレジスタ(オプションレジスタ)112の内容は、JTAGのTest Data Out端子405と次段に接続された同様のJTAGのTest Data In端子404を経由してシリアルダンプされることは図3のシリアル・ペリフェラル・インタフェースと同様である。またそのときの外部クロックはJTAGのTest Clock端子406の信号が使われる。   The contents of the shift register (option register) 112 are serial dumped via the JTAG Test Data Out terminal 405 and a similar JTAG Test Data In terminal 404 connected to the next stage.・ Same as interface. The signal at the Test Clock terminal 406 of JTAG is used as the external clock at that time.

このモードへのJTAGの遷移はJTAGのTAPコントローラ412の機能を用いて行われる。状態の遷移は、JTAGのTest Clock端子406、JTAGのTest Mode Select端子407、JTAGのTest Reset端子408の信号の組み合わせにより行われる。   The JTAG transition to this mode is performed using the function of the JTAG TAP controller 412. The state transition is performed by a combination of signals from the JTAG Test Clock terminal 406, the JTAG Test Mode Select terminal 407, and the JTAG Test Reset terminal 408.

JTAGの機能はCPUにとっては検査用の隠し機能であって、図3の実施形態1のようにCPU周辺デバイスであるシリアル・ペリフェラル・インタフェースを本発明用に明示的に消費しないという利点がある。   The JTAG function is an inspection hidden function for the CPU, and there is an advantage that the serial peripheral interface, which is a CPU peripheral device, is not explicitly consumed for the present invention as in the first embodiment of FIG.

これは量産移行後の市場におけるフィールドテスト等で、ロギングシステムを一時的に後付し、JTAGポートにアクセスして動作ログを採取するという目的に適する
<実施の形態1および2に共通な項目>
以下、実施の形態1および2に共通なシフトレジスタのカスケード接続の一実施例やロギング装置の一実施例について記述する。
This is a field test or the like in the market after the shift to mass production, which is suitable for the purpose of temporarily adding a logging system and accessing the JTAG port to collect operation logs. <Items common to the first and second embodiments>
Hereinafter, an example of cascade connection of shift registers and an example of a logging device common to the first and second embodiments will be described.

図5は、前述のCPU個々のシフトレジスタおよびロギング装置140との接続方法を示したものである。   FIG. 5 shows a method of connecting the aforementioned shift registers of the CPUs and the logging device 140.

シフトレジスタの接続は直列接続(カスケード接続)であって、ロギング装置140のシリアルバス出力端子DO501よりCPU110のシフトレジスタ入力端子502、シフトレジスタ出力端子503よりCPU120のシフトレジスタ入力端子504、シフトレジスタ出力端子505よりロギング装置140のシリアルバス入力端子DI506へと接続を行う。これは転送するCPUの段数が増加してもカスケード数が変わるだけで方式そのものに変化は無い。   The shift registers are connected in series (cascade connection). The serial bus output terminal DO501 of the logging device 140 is connected to the shift register input terminal 502 of the CPU 110, the shift register output terminal 503 is connected to the shift register input terminal 504 of the CPU 120, and the shift register is output. Connection is made from the terminal 505 to the serial bus input terminal DI 506 of the logging device 140. This means that even if the number of CPU stages to be transferred increases, the number of cascades only changes and the method itself does not change.

シフトレジスタ112・122がシフト動作を行うクロック源はロギング装置140が提供し(すなわちシリアルバスのバスマスタになるということ)ロギング装置のクロック出力端子508から供出したクロックをCPU110のシリアルバスクロック入力509と、CPU120のシリアルバスクロック入力510とに並列に導入する。シフトレジスタの数が増えても並列導入は同じである。   The clock source for the shift operation of the shift registers 112 and 122 is provided by the logging device 140 (that is, the bus master of the serial bus). The clock supplied from the clock output terminal 508 of the logging device is connected to the serial bus clock input 509 of the CPU 110. In parallel with the serial bus clock input 510 of the CPU 120. Parallel introduction is the same even if the number of shift registers increases.

ログのダンプ要求を伝えるイベント出力は、各々のCPU110・120よりイベント出力端子113・123を経てイベント論理和回路130の入力になる。シフトレジスタの数が増えてもイベント論理和回路130の入力数を増やせばよい。したがって、最速のイベント発生タイミングを表わす要求がロギング装置のイベント入力端子507に伝えられることになる。   The event output for transmitting the log dump request is input to the event OR circuit 130 from the respective CPUs 110 and 120 via the event output terminals 113 and 123. Even if the number of shift registers increases, the number of inputs to the event OR circuit 130 may be increased. Therefore, a request representing the fastest event occurrence timing is transmitted to the event input terminal 507 of the logging device.

図6にロギング装置140の内部ブロック図を、図7にロギング装置内部のシーケンサー141の動作手順をフローチャートの形で示す。説明の便宜の点から図7のフローチャートに従って解説を行い、その都度図6の内部ブロック図の対応を説明する。   FIG. 6 shows an internal block diagram of the logging device 140, and FIG. 7 shows an operation procedure of the sequencer 141 inside the logging device in the form of a flowchart. For convenience of explanation, explanation will be given according to the flowchart of FIG. 7, and correspondence of the internal block diagram of FIG. 6 will be explained each time.

図7のアルゴリズムは図6のシーケンサー141内部で実装されているものであり、各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。   The algorithm shown in FIG. 7 is implemented in the sequencer 141 shown in FIG. 6, and each configuration, function, processing unit, etc. is realized as hardware by designing all or a part thereof using, for example, an integrated circuit. It can also be realized as software by a processor executing a program for realizing each function.

図7・S701のステップでは、図6のロギング装置のイベント入力507にログのダンプ要求が送られてくるのを待ち続ける。要求が無ければ再度S701に入り直して入力をチェックし続け、あればステップS702への遷移を行う。   In step S701 of FIG. 7, the process continues to wait for a log dump request to be sent to the event input 507 of the logging device of FIG. If there is no request, the process reenters S701 to continue checking the input. If there is, there is a transition to step S702.

S702では、ダンプ要求が発生した時刻をロギング装置内のタイムスタンプ生成用時計144から採取し、ログに付加する準備を行う。次にステップS703でシリアルダンプのために規定クロック数パルスを出力する準備を行う。具体的には発信機(クロック供給源)142を起動し、クロックカウント変数をリセット(0に初期化)する。   In S702, the time when the dump request is generated is collected from the time stamp generation clock 144 in the logging device, and preparations are made for adding to the log. In step S703, preparations are made for outputting a prescribed number of clock pulses for serial dumping. Specifically, the transmitter (clock supply source) 142 is activated, and the clock count variable is reset (initialized to 0).

ここでクロックカウント変数とはシリアルバスで接続されている機構全体を今まで何クロック分シフトしたかのカウントを行う変数のことである。   Here, the clock count variable is a variable that counts how many clocks the entire mechanism connected by the serial bus has been shifted so far.

続く判定ステップS704では規定クロック数シリアルダンプが行われたかがチェックされシリアルダンプ継続中ならばステップS705とステップS706を実行する。   In the subsequent determination step S704, it is checked whether the serial dump has been performed for the specified number of clocks. If the serial dump is continuing, steps S705 and S706 are executed.

ステップS705では、発信機142より1クロック分(1bit分)の信号をロギング装置のクロック出力508を経由してシフトレジスタ112・122に供給する。この同一クロック信号はシリアル・パラレル変換器145にも内部的に供給されている。このとき、シフトレジスタ112・122よりシフトアウトした1bitデータが、ロギング装置のシリアルバス入力506を経由してシリアル・パラレル変換器145に入り、反対にシフトレジスタの空いたbitにシフトレジスタ初期化データ143の値(初期化データであるので図6ではnull dataと表記)がシフトインされる。   In step S705, a signal corresponding to one clock (one bit) is supplied from the transmitter 142 to the shift registers 112 and 122 via the clock output 508 of the logging device. This same clock signal is also supplied internally to the serial / parallel converter 145. At this time, 1-bit data shifted out from the shift registers 112 and 122 enters the serial / parallel converter 145 via the serial bus input 506 of the logging device, and on the contrary, the shift register initialization data is transferred to the free bits of the shift register. A value of 143 (indicated as null data in FIG. 6 because it is initialization data) is shifted in.

続くステップS706ではクロックカウント変数をインクリメントし判定ステップS704に戻る。   In the following step S706, the clock count variable is incremented and the process returns to the determination step S704.

規定出力分クロックを出力すると、ステップS707に移るが、このときログ情報の所在はどうなっているかというと、ロギング開始前にシフトレジスタ112・122に入っていたデータは全てシリアル・パラレル変換器145に転送され、変わりにシフトレジスタはシフトレジスタ初期化データ143の値で埋め尽くされた状態になっている。   When the clock for the specified output is output, the process proceeds to step S707. At this time, what is the location of the log information is that all the data stored in the shift registers 112 and 122 before the start of logging is the serial / parallel converter 145. Instead, the shift register is filled with the value of the shift register initialization data 143.

したがって、続くステップS707ではシリアル・パラレル変換器145でアサーションログをbit列からキャラクタベースに変換(シリアルからパラレルに復元)しロギング装置の内部パラレルバス601に出力する準備を行う。   Therefore, in the subsequent step S707, the serial / parallel converter 145 converts the assertion log from the bit string to the character base (restores from serial to parallel) and prepares to output it to the internal parallel bus 601 of the logging device.

続くステップS708では前述のタイムスタンプとキャラクタベースのアサーションログを組み合わせてログ文字列データ151を生成しファイルドライバ602を経由してログ記録用フラッシュメモリ603に内容を書き出す。   In the subsequent step S708, the log character string data 151 is generated by combining the time stamp and the character-based assertion log, and the contents are written to the log recording flash memory 603 via the file driver 602.

これら発信機(クロック供給源)142、シフトレジスタ初期化データ143、タイムスタンプ生成用時計144、シリアル・パラレル変換器145、ファイルドライバ602等も前述のシーケンサー141と同様に、各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。   These transmitter (clock supply source) 142, shift register initialization data 143, time stamp generation clock 144, serial / parallel converter 145, file driver 602, and the like are also configured, functions, and processes in the same manner as the sequencer 141 described above. The part or the like can be realized as hardware by designing all or a part of them by, for example, an integrated circuit, or can be realized as software by the processor executing a program that realizes each function. it can.

ログ記録用フラッシュメモリ603にイベント単位でのログ文字列データ151を書き出した後は、処理は再びステップS701に戻りイベント入力507を待ち続けることになる。   After the log character string data 151 for each event is written in the log recording flash memory 603, the process returns to step S701 and waits for the event input 507 again.

以上、本発明の実施形態1及び2によれば、従来の機能安全上のパーティショニングに関する課題、もしくは実装時に問題となる機器接続の課題を解決することができる。   As described above, according to the first and second embodiments of the present invention, it is possible to solve the problems related to conventional functional safety partitioning or the problem of device connection that becomes a problem at the time of mounting.

即ち、従来であれば、ロギングエリア用共通RAMをCPUから直接書き込み可能なメモリ空間にマッピングしたため、ロギングエリアをCPUバスに直結しなければならなくなっており、したがって、配線接続量がそれなりに増加しロギング装置だけの後付や取り外しが簡単に行えない構成となっていた。一方、本実施形態によれば、機能安全のパーティショニングに配慮してマルチコア・マルチCPUのロギング装置を簡便に構成することができる。   In other words, in the past, since the logging area common RAM was mapped to a memory space that can be directly written from the CPU, the logging area had to be directly connected to the CPU bus, and the amount of wiring connection increased accordingly. Only the logging device could not be retrofitted or removed easily. On the other hand, according to the present embodiment, it is possible to easily configure a multi-core / multi-CPU logging apparatus in consideration of functional safety partitioning.

シリアルバスと(ログ要求)イベントの論理和信号を利用しているので、事象発生の時系列の前後関係を厳密に記録することができて、各CPUとロギング装置との結線数が少なく後付け取り外しが容易なロギング装置とすることができる。   Since the logical sum signal of the serial bus and (log request) event is used, the time series context of the event occurrence can be recorded strictly, and the number of connections between each CPU and the logging device is small and can be removed later. Can be an easy logging device.

タイムスタンプ用時計をロギング装置側に保持しているので、各CPUの内部時間に係らずグローバル時間を管理できて、なおかつ、ロギング機能を追加したときのコスト上昇分をロギング装置側に集約することができ、コスト上昇の少ない装置を構成することができる。   Since the time stamp clock is held on the logging device side, the global time can be managed regardless of the internal time of each CPU, and the cost increase when the logging function is added is consolidated on the logging device side. Therefore, it is possible to configure an apparatus with little cost increase.

110・120:CPU、111・121:CPUコア、112・122:シフトレジスタ、113・123:イベント出力端子、130:イベント論理和回路、140:ロギング装置、141:シーケンサー、142:発信機(クロック供給源)、143:シフトレジスタ初期化データ、144:タイムスタンプ生成用時計、145:シリアル・パラレル変換器、150:ログデータ、151:該当出力データ記述、200:組み込みソフトウェアソースコード、201:アサーション命令、210:アサーションログ、211・212:アサーションメッセージ、301:プログラムメモリ(ROM)、302:制御メモリ(RAM)、303:周辺入出力デバイス、304:SPI(シリアルペリフェラルインターフェース)のシリアル入力端子、305:SPIのシリアル出力端子、306:SPIのシリアルクロック、307:CPUの入出力端子、404:JTAGのTest Data In端子、405:JTAGのTest Data Out端子、406:JTAGのTest Clock端子、407:JTAGのTest Mode Select端子、408:JTAGのTest Reset端子、410:JTAGのインストラクションレジスタ、411:JTAGのバイパスレジスタ、412:JTAGのTAPコントローラ、413:JTAGのセル、501:ロギング装置のシリアルバス出力、502・503・504・505:各CPUのシリアルバス入出力とリンク配線、506:ロギング装置のシリアルバス入力、507:ロギング装置のイベント入力、508:ロギング装置のクロック出力、509・510:各CPUのシリアルバスクロック入力、601:ロギング装置の内部パラレルバス、602:ファイルドライバ、603:ログ記録用フラッシュメモリ。   110, 120: CPU, 111, 121: CPU core, 112, 122: Shift register, 113, 123: Event output terminal, 130: Event OR circuit, 140: Logging device, 141: Sequencer, 142: Transmitter (clock) 143: shift register initialization data, 144: time stamp generation clock, 145: serial / parallel converter, 150: log data, 151: corresponding output data description, 200: embedded software source code, 201: assertion Command: 210: Assertion log 211, 212: Assertion message 301: Program memory (ROM) 302: Control memory (RAM) 303: Peripheral input / output device 304: Serial serial interface (SPI) Input terminal 305: SPI serial output terminal 306: SPI serial clock 307: CPU input / output terminal 404: JTAG Test Data In terminal 405: JTAG Test Data Out terminal 406: JTAG Test Clock Terminal: 407: JTAG Test Mode Select terminal, 408: JTAG Test Reset terminal, 410: JTAG instruction register, 411: JTAG bypass register, 412: JTAG TAP controller, 413: JTAG cell, 501: Logging device Serial bus output, 502, 503, 504, 505: Serial bus input / output and link wiring of each CPU, 506: Logging device serial bus input, 507: Logging device input Cement Input, 508: clock output logging apparatus, 509 & 510: the serial bus the clock input of each CPU, 601: internal parallel bus of the logging device, 602: file driver, 603: Logging flash memory.

Claims (7)

互いに関連する複数のCPUコアからのメッセージを統一的にロギングする車載用制御装置のロギングシステムであって、
各CPUコアからのメッセージ出力は各CPUコア固有のシフトレジスタに入力されるとともに、該シフトレジスタに情報が格納された旨のイベント出力を各CPUコアから外部に出力し、前記シフトレジスタはそれぞれのCPU分のレジスタが直列に縦続接続されるとともに、前記イベント出力の複数の論理和によってロギング動作が励起され、クロック同期により前記複数のシフトレジスタの情報をシリアル通信にて一括して読み出し、読み出したログ情報を記憶装置に格納することを特徴とする車載用制御装置のロギングシステム。
A vehicle-mounted control device logging system that uniformly logs messages from a plurality of CPU cores related to each other,
A message output from each CPU core is input to a shift register unique to each CPU core, and an event output indicating that information is stored in the shift register is output from each CPU core to the outside. Registers for CPUs are cascaded in series, and a logging operation is excited by a plurality of logical sums of the event outputs, and information of the plurality of shift registers is read and read collectively by serial communication by clock synchronization. A logging system for a vehicle-mounted control device, wherein log information is stored in a storage device.
前記各CPUコアに固有のシフトレジスタは、当該CPUのメモリ空間のみに配置されており別CPUコアからはアクセス不可能であること、およびロギング結果を格納する記憶装置は全てのCPUコアより直接書き込み不可能であることを特徴とする請求項1記載の車載用制御装置のロギングシステム。   The shift register unique to each CPU core is arranged only in the memory space of the CPU and cannot be accessed from another CPU core, and the storage device for storing the logging result is directly written by all the CPU cores. The logging system for a vehicle-mounted control device according to claim 1, which is impossible. 前記記装置内にイベント発生時間を計時する時計を内包する構成であって、前記イベント出力の複数の論理和によってロギング動作が励起されるに際して、該時計のタイムスタンプをログ結果に付加することを特徴とする請求項1記載の車載用制御装置のロギングシステム。 A structure enclosing a clock for counting the event occurrence time to the Symbol the apparatus, during the logging operation is excited by a plurality of logical sum of the event output, adding a time stamp of said time meter in the log results The logging system for a vehicle-mounted control device according to claim 1. 前記各CPUコア固有のシフトレジスタは、シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface, SPI)を用いることを特徴とする請求項1記載の車載用制御装置のロギングシステム。   2. The logging system for an in-vehicle control device according to claim 1, wherein the shift register unique to each CPU core uses a serial peripheral interface (SPI). 前記各CPUコア固有のシフトレジスタは、JTAG(Joint Test Action Group)のオプションレジスタを用いることを特徴とする請求項1記載の車載用制御装置のロギングシステム。   The in-vehicle controller logging system according to claim 1, wherein an optional register of JTAG (Joint Test Action Group) is used as the shift register unique to each CPU core. 前記記装置は、複数のCPUで構成されるECU(Electronic Control Unit)システムに対して後付けおよび取り外し可能な別体として構成され、
少なくとも記装置側が出力する通信クロック出力、複数CPUが搭載されるECUシステム側が出力するシリアル通信出力、同複数CPUが搭載されるECUシステム側が出力するイベントの論理和出力、の最小3信号で結線されることを特徴とする請求項1記載の車載用制御装置のロギングシステム。
The Symbol device is configured as a rear attachment and removable separate relative configured ECU (Electronic Control Unit) system with multiple CPU,
At least the serial communications clock output憶 apparatus outputs, serial communication output of ECU system side multiple CPU is mounted is output, connected by event logic sum output, minimum 3 signal of the ECU system side the more CPU is mounted to the output The logging system for a vehicle-mounted control device according to claim 1.
前記各CPUコア固有のシフトレジスタを経由してログ情報として収集される内容は、ソフトウェア・アサーション・ログおよびそれに準じる制御動作上の異常警告で、機能安全上のエビデンス結果と見なし得る情報内容であることを特徴とする請求項1記載の車載用制御装置のロギングシステム。   The contents collected as log information via the shift registers unique to each CPU core are information contents that can be regarded as evidence of functional safety by a software assertion log and an abnormal warning on the control operation corresponding thereto. The logging system for an in-vehicle control device according to claim 1.
JP2013233619A 2013-11-12 2013-11-12 In-vehicle control system logging system Active JP6138666B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013233619A JP6138666B2 (en) 2013-11-12 2013-11-12 In-vehicle control system logging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013233619A JP6138666B2 (en) 2013-11-12 2013-11-12 In-vehicle control system logging system

Publications (2)

Publication Number Publication Date
JP2015095061A JP2015095061A (en) 2015-05-18
JP6138666B2 true JP6138666B2 (en) 2017-05-31

Family

ID=53197426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013233619A Active JP6138666B2 (en) 2013-11-12 2013-11-12 In-vehicle control system logging system

Country Status (1)

Country Link
JP (1) JP6138666B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6770935B2 (en) * 2017-07-03 2020-10-21 日立オートモティブシステムズ株式会社 Verification device for vehicle control device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS598068A (en) * 1982-07-02 1984-01-17 Matsushita Electric Ind Co Ltd Debug device of multiprocessor
JP2005222446A (en) * 2004-02-09 2005-08-18 Matsushita Electric Ind Co Ltd On-board debugging apparatus and semiconductor circuit apparatus
JP2007156594A (en) * 2005-12-01 2007-06-21 Seiko Epson Corp Program trace unit and method

Also Published As

Publication number Publication date
JP2015095061A (en) 2015-05-18

Similar Documents

Publication Publication Date Title
CN100573537C (en) A kind of SOC chip system grade verification system and method
US7484188B2 (en) On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits
US9720036B2 (en) Signal tracing using on-chip memory for in-system post-fabrication debug
US7930165B2 (en) Procedure and device for emulating a programmable unit providing system integrity control
US9529686B1 (en) Error protection for bus interconnect circuits
CN102541698A (en) Self-reconfigurable D/TMR (Dual/Triple Modular Redundancy) system based on FPGA (Field Programmable Gate Array) and fault-tolerant design method thereof
CN116256621B (en) Method and device for testing core particle, electronic equipment and storage medium
US10664637B2 (en) Testbench restoration based on capture and replay
Neishaburi et al. Enabling efficient post-silicon debug by clustering of hardware-assertions
US11105854B2 (en) System, apparatus and method for inter-die functional testing of an integrated circuit
CN116401989B (en) Signal checking method based on chip design source code, electronic equipment and medium
JP6138666B2 (en) In-vehicle control system logging system
US9864830B1 (en) Method and apparatus for placement and routing of circuit designs
CN112162879A (en) Log system of real-time multi-core DSP software
US11662383B2 (en) High-speed functional protocol based test and debug
US11249872B1 (en) Governor circuit for system-on-chip
US20210072314A1 (en) Digital circuit robustness verification method and system
Geuzebroek et al. Integration of hardware assertions in systems-on-chip
US6445205B1 (en) Method of testing integrated circuits
Kim et al. CAN-Based aging monitoring technique for automotive ASICs with efficient soft error resilience
US20030225559A1 (en) Verification of multi-cycle paths
Szurman et al. Fault tolerant can bus control system implemented into fpga
JP6484539B2 (en) Action log processing device
CN219997875U (en) Memory protection module, integrated circuit chip and test circuit thereof
CN115794517A (en) Chip debugging method, chip debugging device and chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170426

R150 Certificate of patent or registration of utility model

Ref document number: 6138666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250