Skip to content Navigation Menu Toggle navigation Sign in Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub Copilot appDirect agents from issue to mergeMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests... Search Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Saved searches Use saved searches to filter your results more quickly Name Query To see all available qualifiers, see our documentation. Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} araobp / sensor-network Public Notifications You must be signed in to change notification settings Fork 4 Star 8 Code Issues 2 Pull requests 0 Actions Projects Wiki Security and quality 0 Insights Additional navigation options Code Issues Pull requests Actions Projects Wiki Security and quality Insights Home Jump to bottom arao edited this page Jul 8, 2017 · 5 revisions Welcome to the blocks wiki! これまで発生した主な問題 UART受信バッファのoverrun 症状 Mini-PLCとしてRasPiの様なlinuxベースのものを使った場合に不具合発生。linuxはリアルタイム処理が出来ず、適切なタイミングでデータをschedulerへ送信できない。そうすると、scheduler側の他の割り込み処理の影響でUART受信バッファ溢れとなり、データ欠損が発生。本問題は、LCDのようなアクチュエータ制御時に深刻。 対策 Linuxを使わない。RTOS, mbedやOSレスなものを使う。 I2C backplaneを2系統用意する。センサー系とアクチュエータ系。 PICのclock speedを上げる。 I2C slaveがACKを返さない 症状 SSP1CON2のSENがenableされてなかったので、clock strechingが無効であった。従い、I2C slave側で時間がかかる処理を行うとI2Cのステートマシン崩れとなり、通信不能となる。 対策 SSP1CON2のSEN(bit 0)を1に設定し clock stretching を有効にしたら、本問題は発生しなくなった。 I2Cバスが不安定 症状 プルアップ抵抗としてPIC内臓のWPUを使ったところ、バスのケーブル長が長くなるにつれて通信が不安定に。 対策 プルアップ抵抗を可変抵抗(最大5kΩ、2.5kΩに設定)に置き換えたところ安定した。 I2Cバスの通信距離がせいぜい80cm程度 症状 I2Cの通信距離が80cmを超えたあたりで通信が不安定に。 対策 80cmまではI2C、80cmを超える構成にはCANバスを適用=>2017年7~8月に開発する。 振動があるとシステム動作が不安定に 症状 システムを激しく揺らしたとき、Scheduler(I2C master)とLCD(I2C slave)間の通信が不能になる。Mini-PLCとScheduler間のUART接続でピンヘッダ・ピンソケットを使った接続が原因:接触不良が発生。 対策 開発用ボードでは対策不要。デモ用ボードでは、各種ケーブルを電話線のモジュラープラグ・ジャック(RJ11)や端子台などでケーブルを固定する。 ADCの変換スピードが遅い 対策 Clock speedを上げる。内部クロック(Frc)を使う。 I2Cの送信が出来ない 症状 FOSCを500kHzから32MHzへ上げたらI2Cの送信が出来なくなった。FOSC変更したのにI2Cボーレートを適切なものへ設定していなかった。 対策 I2C Master側のボーレートジェネレータ(SSPxADD)を100kHzや400kHzへ設定する。 I2Cの送信が出来ない 症状 FOSCを500kHzから32MHzへ上げたらI2Cの送信が出来なくなった。I2Cのクロックを超えるスピードでI2Cマスターが処理を行ったためデータ送信エラーとなっていた。 対策 ループの中で連続してデータ送信する場合、__delay_us(...)を入れる。 Wiki pages Pages 1 Loading Home これまで発生した主な問題 UART受信バッファのoverrun 症状 対策 I2C slaveがACKを返さない 症状 対策 I2Cバスが不安定 症状 対策 I2Cバスの通信距離がせいぜい80cm程度 症状 対策 振動があるとシステム動作が不安定に 症状 対策 ADCの変換スピードが遅い 対策 I2Cの送信が出来ない 症状 対策 I2Cの送信が出来ない 症状 対策 Clone this wiki locally You can’t perform that action at this time.